<!DOCTYPE html><html lang="zh-cn"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="renderer" content="webkit"><meta name="HandheldFriendly" content="true"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,shrink-to-fit=no"><title>阿里云盘列表AList部署教程 - Xhofe's Blog</title><meta property="article:published_time" content="2021-03-13T21:08:00+08:00"><meta property="article:modified_time" content="2021-07-16T20:46:05+08:00"><link rel="icon" type="image/png" href="https://mapp.alicdn.com/1627317750082Tx76rUJVJlh1bQ7.png"><meta name="description" content="简介AList是一款阿里云盘的目录文件列表程序，后端基于golang最好的http框架gin，前端使用vue和ant design。没有专门学过前端，大佬轻喷😘[quote color=&quot;pri..."><meta name="keywords" content="github,go,vue,gin"><meta name="generator" content="Typecho 1.1/17.10.30"><meta name="template" content="Cuteen"><link rel="alternate" type="application/rss+xml" title="阿里云盘列表AList部署教程 » Xhofe's Blog » RSS 2.0" href="https://nn.ci/feed/archives/alist.html"><link rel="alternate" type="application/rdf+xml" title="阿里云盘列表AList部署教程 » Xhofe's Blog » RSS 1.0" href="https://nn.ci/feed/rss/archives/alist.html"><link rel="alternate" type="application/atom+xml" title="阿里云盘列表AList部署教程 » Xhofe's Blog » ATOM 1.0" href="https://nn.ci/feed/atom/archives/alist.html"><style>.lg-icon{font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg-actions .lg-next,.lg-actions .lg-prev{background-color:rgba(0,0,0,.45);border-radius:2px;color:#999;cursor:pointer;display:block;font-size:22px;margin-top:-10px;padding:8px 10px 9px;position:absolute;top:50%;z-index:1080;outline:0;border:none}.lg-actions .lg-next.disabled,.lg-actions .lg-prev.disabled{pointer-events:none;opacity:.5}.lg-actions .lg-next:hover,.lg-actions .lg-prev:hover{color:#fff}.lg-actions .lg-next{right:20px}.lg-actions .lg-next:before{content:"";background-image:url();display:block;width:1.25rem;height:1.25rem;background-size:100% 100%}.lg-actions .lg-prev{left:20px}.lg-actions .lg-prev:after{content:"";background-image:url();display:block;width:1.25rem;height:1.25rem;background-size:100% 100%}@-webkit-keyframes lg-right-end{0%{left:0}50%{left:-30px}to{left:0}}@-moz-keyframes lg-right-end{0%{left:0}50%{left:-30px}to{left:0}}@-ms-keyframes lg-right-end{0%{left:0}50%{left:-30px}to{left:0}}@keyframes lg-right-end{0%{left:0}50%{left:-30px}to{left:0}}@-webkit-keyframes lg-left-end{0%{left:0}50%{left:30px}to{left:0}}@-moz-keyframes lg-left-end{0%{left:0}50%{left:30px}to{left:0}}@-ms-keyframes lg-left-end{0%{left:0}50%{left:30px}to{left:0}}@keyframes lg-left-end{0%{left:0}50%{left:30px}to{left:0}}.lg-outer.lg-right-end .lg-object{-webkit-animation:lg-right-end .3s;-o-animation:lg-right-end .3s;animation:lg-right-end .3s;position:relative}.lg-outer.lg-left-end .lg-object{-webkit-animation:lg-left-end .3s;-o-animation:lg-left-end .3s;animation:lg-left-end .3s;position:relative}.lg-toolbar{z-index:1082;left:0;position:absolute;top:0;width:100%;background-color:rgba(0,0,0,.45)}.lg-toolbar .lg-icon{display:flex;align-items:center;justify-content:center;color:#999;cursor:pointer;float:right;height:47px;width:50px;text-decoration:none!important;outline:medium none;background:0 0;border:none;box-shadow:none;-webkit-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear}.lg-toolbar .lg-icon:hover{color:#fff}.lg-toolbar .lg-close:after{background-image:url()}.lg-toolbar .lg-close:after,.lg-toolbar .lg-download:after{content:"";display:block;width:1.25rem;height:1.25rem;background-size:100% 100%}.lg-toolbar .lg-download:after{background-image:url()}.lg-sub-html{background-color:rgba(0,0,0,.45);bottom:0;color:#eee;font-size:16px;left:0;padding:10px 40px;position:fixed;right:0;text-align:center;z-index:1080}.lg-sub-html h4{margin:0;font-size:13px;font-weight:700}.lg-sub-html p{font-size:12px;margin:5px 0 0}#lg-counter{color:#999;display:inline-block;font-size:16px;padding-left:20px;padding-top:12px;vertical-align:middle}.lg-next,.lg-prev,.lg-toolbar{opacity:1;-webkit-transition:-webkit-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;-moz-transition:-moz-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;-o-transition:-o-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;transition:transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear}.lg-hide-items .lg-prev{opacity:0;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}.lg-hide-items .lg-next{opacity:0;-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}.lg-hide-items .lg-toolbar{opacity:0;-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object{-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5);opacity:0;-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1)!important;-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1)!important;-o-transition:-o-transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1)!important;transition:transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1)!important;-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1}.lg-outer .lg-thumb-outer{background-color:#0d0a0a;bottom:0;position:absolute;width:100%;z-index:1080;max-height:350px;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .25s cubic-bezier(0,0,.25,1) 0s;transition:transform .25s cubic-bezier(0,0,.25,1) 0s}.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb{-webkit-transition-duration:0s!important;transition-duration:0s!important}.lg-outer.lg-thumb-open .lg-thumb-outer{-webkit-transform:translateZ(0);transform:translateZ(0)}.lg-outer .lg-thumb{padding:10px 0;height:100%;margin-bottom:-5px}.lg-outer .lg-thumb-item{border-radius:5px;cursor:pointer;float:left;overflow:hidden;height:100%;border:2px solid #fff;border-radius:4px;margin-bottom:5px}@media (min-width:1025px){.lg-outer .lg-thumb-item{-webkit-transition:border-color .25s ease;-o-transition:border-color .25s ease;transition:border-color .25s ease}}.lg-outer .lg-thumb-item.active,.lg-outer .lg-thumb-item:hover{border-color:#a90707}.lg-outer .lg-thumb-item img{width:100%;height:100%;object-fit:cover}.lg-outer.lg-has-thumb .lg-item{padding-bottom:120px}.lg-outer.lg-can-toggle .lg-item{padding-bottom:0}.lg-outer.lg-pull-caption-up .lg-sub-html{-webkit-transition:bottom .25s ease;-o-transition:bottom .25s ease;transition:bottom .25s ease}.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html{bottom:100px}.lg-outer .lg-toggle-thumb{background-color:#0d0a0a;border-radius:2px 2px 0 0;color:#999;cursor:pointer;font-size:24px;height:39px;line-height:27px;padding:5px 0;position:absolute;right:20px;text-align:center;top:-39px;width:50px;outline:medium none;border:none}.lg-outer .lg-toggle-thumb:after{content:"\e1ff"}.lg-outer .lg-toggle-thumb:hover{color:#fff}.lg-outer .lg-video-cont{display:inline-block;vertical-align:middle;max-width:1140px;max-height:100%;width:100%;padding:0 5px}.lg-outer .lg-video{width:100%;height:0;padding-bottom:56.25%;overflow:hidden;position:relative}.lg-outer .lg-video .lg-object{display:inline-block;position:absolute;top:0;left:0;width:100%!important;height:100%!important}.lg-outer .lg-video .lg-video-play{width:84px;height:59px;position:absolute;left:50%;top:50%;margin-left:-42px;margin-top:-30px;z-index:1080;cursor:pointer}.lg-outer .lg-has-vimeo .lg-video-play{background:url(../img/vimeo-play.png) no-repeat scroll 0 0 transparent}.lg-outer .lg-has-vimeo:hover .lg-video-play{background:url(../img/vimeo-play.png) no-repeat scroll 0 -58px transparent}.lg-outer .lg-has-html5 .lg-video-play{background:transparent url(../img/video-play.png) no-repeat scroll 0 0;height:64px;margin-left:-32px;margin-top:-32px;width:64px;opacity:.8}.lg-outer .lg-has-html5:hover .lg-video-play{opacity:1}.lg-outer .lg-has-youtube .lg-video-play{background:url(../img/youtube-play.png) no-repeat scroll 0 0 transparent}.lg-outer .lg-has-youtube:hover .lg-video-play{background:url(../img/youtube-play.png) no-repeat scroll 0 -60px transparent}.lg-outer .lg-video-object{width:100%!important;height:100%!important;position:absolute;top:0;left:0}.lg-outer .lg-has-video .lg-video-object{visibility:hidden}.lg-outer .lg-has-video.lg-video-playing .lg-object,.lg-outer .lg-has-video.lg-video-playing .lg-video-play{display:none}.lg-outer .lg-has-video.lg-video-playing .lg-video-object{visibility:visible}.lg-progress-bar{background-color:#333;height:5px;left:0;position:absolute;top:0;width:100%;z-index:1083;opacity:0;-webkit-transition:opacity .08s ease 0s;-moz-transition:opacity .08s ease 0s;-o-transition:opacity .08s ease 0s;transition:opacity .08s ease 0s}.lg-progress-bar .lg-progress{background-color:#a90707;height:5px;width:0}.lg-progress-bar.lg-start .lg-progress{width:100%}.lg-show-autoplay .lg-progress-bar{opacity:1}.lg-autoplay-button:after{content:"\e01d"}.lg-show-autoplay .lg-autoplay-button:after{content:"\e01a"}.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image,.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition-duration:0s;transition-duration:0s}.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition:-webkit-transform .3s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .3s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .3s cubic-bezier(0,0,.25,1) 0s;transition:transform .3s cubic-bezier(0,0,.25,1) 0s}.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;-moz-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;-o-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transition:-webkit-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-moz-transition:-moz-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-o-transition:-o-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;transition:transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}#lg-zoom-in:after{content:"";background-image:url();display:block;width:1.25rem;height:1.25rem;background-size:100% 100%}#lg-actual-size{font-size:20px}#lg-actual-size:after{content:"";background-image:url();display:block;width:1.25rem;height:1.25rem;background-size:100% 100%}#lg-zoom-out{opacity:.5;pointer-events:none}#lg-zoom-out:after{content:"";background-image:url();display:block;width:1.25rem;height:1.25rem;background-size:100% 100%}.lg-zoomed #lg-zoom-out{opacity:1;pointer-events:auto}.lg-outer .lg-pager-outer{bottom:60px;left:0;position:absolute;right:0;text-align:center;z-index:1080;height:10px}.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont{overflow:visible}.lg-outer .lg-pager-cont{cursor:pointer;display:inline-block;overflow:hidden;position:relative;vertical-align:top;margin:0 5px}.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}.lg-outer .lg-pager-cont.lg-pager-active .lg-pager{box-shadow:inset 0 0 0 2px #fff}.lg-outer .lg-pager-thumb-cont{background-color:#fff;color:#fff;bottom:100%;height:83px;left:0;margin-bottom:20px;margin-left:-60px;opacity:0;padding:5px;position:absolute;width:120px;border-radius:3px;-webkit-transition:opacity .15s ease 0s,-webkit-transform .15s ease 0s;-moz-transition:opacity .15s ease 0s,-moz-transform .15s ease 0s;-o-transition:opacity .15s ease 0s,-o-transform .15s ease 0s;transition:opacity .15s ease 0s,transform .15s ease 0s;-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}.lg-outer .lg-pager-thumb-cont img{width:100%;height:100%}.lg-outer .lg-pager{background-color:hsla(0,0%,100%,.5);border-radius:50%;box-shadow:inset 0 0 0 8px hsla(0,0%,100%,.7);display:block;height:12px;-webkit-transition:box-shadow .3s ease 0s;-o-transition:box-shadow .3s ease 0s;transition:box-shadow .3s ease 0s;width:12px}.lg-outer .lg-pager:focus,.lg-outer .lg-pager:hover{box-shadow:inset 0 0 0 8px #fff}.lg-outer .lg-caret{border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px dashed;bottom:-10px;display:inline-block;height:0;left:50%;margin-left:-5px;position:absolute;vertical-align:middle;width:0}.lg-fullscreen:after{content:"\e20c"}.lg-fullscreen-on .lg-fullscreen:after{content:"\e20d"}.lg-outer #lg-dropdown-overlay{background-color:rgba(0,0,0,.25);bottom:0;cursor:default;left:0;position:fixed;right:0;top:0;z-index:1081;opacity:0;visibility:hidden;-webkit-transition:visibility 0s linear .18s,opacity .18s linear 0s;-o-transition:visibility 0s linear .18s,opacity .18s linear 0s;transition:visibility 0s linear .18s,opacity .18s linear 0s}.lg-outer.lg-dropdown-active #lg-dropdown-overlay,.lg-outer.lg-dropdown-active .lg-dropdown{-webkit-transition-delay:0s;transition-delay:0s;-moz-transform:translateZ(0);-o-transform:translateZ(0);-ms-transform:translateZ(0);-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1;visibility:visible}.lg-outer.lg-dropdown-active #lg-share{color:#fff}.lg-outer .lg-dropdown{background-color:#fff;border-radius:2px;font-size:14px;list-style-type:none;margin:0;padding:10px 0;position:absolute;right:0;text-align:left;top:50px;opacity:0;visibility:hidden;-moz-transform:translate3d(0,5px,0);-o-transform:translate3d(0,5px,0);-ms-transform:translate3d(0,5px,0);-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0);-webkit-transition:-webkit-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;-moz-transition:-moz-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;-o-transition:-o-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;transition:transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s}.lg-outer .lg-dropdown:after{content:"";display:block;height:0;width:0;position:absolute;border:8px solid transparent;border-bottom-color:#fff;right:16px;top:-16px}.lg-outer .lg-dropdown>li:last-child{margin-bottom:0}.lg-outer .lg-dropdown>li:hover .lg-icon,.lg-outer .lg-dropdown>li:hover a{color:#333}.lg-outer .lg-dropdown a{color:#333;display:block;white-space:pre;padding:4px 12px;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px}.lg-outer .lg-dropdown a:hover{background-color:rgba(0,0,0,.07)}.lg-outer .lg-dropdown .lg-dropdown-text{display:inline-block;line-height:1;margin-top:-3px;vertical-align:middle}.lg-outer .lg-dropdown .lg-icon{color:#333;display:inline-block;float:none;font-size:20px;height:auto;line-height:1;margin-right:8px;padding:0;vertical-align:middle;width:auto}.lg-outer #lg-share{position:relative}.lg-outer #lg-share:after{content:"\e80d"}.lg-outer #lg-share-facebook .lg-icon{color:#3b5998}.lg-outer #lg-share-facebook .lg-icon:after{content:"\e904"}.lg-outer #lg-share-twitter .lg-icon{color:#00aced}.lg-outer #lg-share-twitter .lg-icon:after{content:"\e907"}.lg-outer #lg-share-googleplus .lg-icon{color:#dd4b39}.lg-outer #lg-share-googleplus .lg-icon:after{content:"\e905"}.lg-outer #lg-share-pinterest .lg-icon{color:#cb2027}.lg-outer #lg-share-pinterest .lg-icon:after{content:"\e906"}.lg-outer .lg-img-rotate{position:absolute;padding:0 5px;left:0;right:0;top:0;bottom:0;-webkit-transition:-webkit-transform .3s cubic-bezier(.32,0,.67,0) 0s;-moz-transition:-moz-transform .3s cubic-bezier(.32,0,.67,0) 0s;-o-transition:-o-transform .3s cubic-bezier(.32,0,.67,0) 0s;transition:transform .3s cubic-bezier(.32,0,.67,0) 0s}.lg-rotate-left:after{content:"\e900"}.lg-rotate-right:after{content:"\e901"}.lg-icon.lg-flip-hor,.lg-icon.lg-flip-ver{font-size:26px}.lg-flip-hor:after{content:"\e902"}.lg-flip-ver:after{content:"\e903"}.group:after,.group:before{display:table;content:"";line-height:0}.group:after{clear:both}.lg-outer{width:100%;height:100%;position:fixed;top:0;left:0;z-index:1050;opacity:0;outline:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-outer *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lg-outer.lg-visible{opacity:1}.lg-outer.lg-css3 .lg-item.lg-current,.lg-outer.lg-css3 .lg-item.lg-next-slide,.lg-outer.lg-css3 .lg-item.lg-prev-slide{-webkit-transition-duration:inherit!important;transition-duration:inherit!important;-webkit-transition-timing-function:inherit!important;transition-timing-function:inherit!important}.lg-outer.lg-css3.lg-dragging .lg-item.lg-current,.lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide,.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide{-webkit-transition-duration:0s!important;transition-duration:0s!important;opacity:1}.lg-outer.lg-grab img.lg-object{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer.lg-grabbing img.lg-object{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg{height:100%;width:100%;position:relative;overflow:hidden;margin-left:auto;margin-right:auto;max-width:100%;max-height:100%}.lg-outer .lg-inner{width:100%;height:100%;position:absolute;left:0;top:0;white-space:nowrap}.lg-outer.lg-css .lg-current,.lg-outer.lg-css3 .lg-current,.lg-outer.lg-css3 .lg-next-slide,.lg-outer.lg-css3 .lg-prev-slide{display:inline-block!important}.lg-outer .lg-img-wrap,.lg-outer .lg-item{display:inline-block;text-align:center;position:absolute;width:100%;height:100%}.lg-outer .lg-img-wrap:before,.lg-outer .lg-item:before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}.lg-outer .lg-img-wrap{position:absolute;padding:0 5px;left:0;right:0;top:0;bottom:0}.lg-outer .lg-item.lg-complete{background-image:none}.lg-outer .lg-item.lg-current{z-index:1060}.lg-outer .lg-image{display:inline-block;vertical-align:middle;max-width:100%;max-height:100%;width:auto!important;height:auto!important}.lg-outer.lg-show-after-load .lg-item .lg-object,.lg-outer.lg-show-after-load .lg-item .lg-video-play{opacity:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object,.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play{opacity:1}.lg-outer .lg-empty-html,.lg-outer.lg-hide-download #lg-download{display:none}.lg-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1040;background-color:rgba(0,0,0,.7);opacity:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-backdrop.in{opacity:1}.lg-css3.lg-no-trans .lg-current,.lg-css3.lg-no-trans .lg-next-slide,.lg-css3.lg-no-trans .lg-prev-slide{-webkit-transition:none 0s ease 0s!important;-moz-transition:none 0s ease 0s!important;-o-transition:none 0s ease 0s!important;transition:none 0s ease 0s!important}.lg-css3.lg-use-css3 .lg-item,.lg-css3.lg-use-left .lg-item{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-css3.lg-fade .lg-item{opacity:0}.lg-css3.lg-fade .lg-item.lg-current{opacity:1}.lg-css3.lg-fade .lg-item.lg-current,.lg-css3.lg-fade .lg-item.lg-next-slide,.lg-css3.lg-fade .lg-item.lg-prev-slide{-webkit-transition:opacity .1s ease 0s;-moz-transition:opacity .1s ease 0s;-o-transition:opacity .1s ease 0s;transition:opacity .1s ease 0s}.lg-css3.lg-slide.lg-use-css3 .lg-item{opacity:0}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide.lg-use-left .lg-item{opacity:0;position:absolute;left:0}.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide{left:-100%}.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide{left:100%}.lg-css3.lg-slide.lg-use-left .lg-item.lg-current{left:0;opacity:1}.lg-css3.lg-slide.lg-use-left .lg-item.lg-current,.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide,.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide{-webkit-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#28a745;--bs-teal:#20c997;--bs-cyan:#17a2b8;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#28a745;--bs-info:#17a2b8;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#343a40;--bs-success_opacity_1:rgba(40,167,69,0.1);--bs-success_opacity_2:rgba(40,167,69,0.2);--bs-success_opacity_3:rgba(40,167,69,0.3);--bs-success_opacity_4:rgba(40,167,69,0.4);--bs-success_opacity_5:rgba(40,167,69,0.5);--bs-success_opacity_6:rgba(40,167,69,0.6);--bs-success_opacity_7:rgba(40,167,69,0.7);--bs-success_opacity_8:rgba(40,167,69,0.8);--bs-success_opacity_9:rgba(40,167,69,0.9);--bs-primary_opacity_1:rgba(13,110,253,0.1);--bs-primary_opacity_2:rgba(13,110,253,0.2);--bs-primary_opacity_3:rgba(13,110,253,0.3);--bs-primary_opacity_4:rgba(13,110,253,0.4);--bs-primary_opacity_5:rgba(13,110,253,0.5);--bs-primary_opacity_6:rgba(13,110,253,0.6);--bs-primary_opacity_7:rgba(13,110,253,0.7);--bs-primary_opacity_8:rgba(13,110,253,0.8);--bs-primary_opacity_9:rgba(13,110,253,0.9);--bs-danger_opacity_1:rgba(220,53,69,0.1);--bs-danger_opacity_2:rgba(220,53,69,0.2);--bs-danger_opacity_3:rgba(220,53,69,0.3);--bs-danger_opacity_4:rgba(220,53,69,0.4);--bs-danger_opacity_5:rgba(220,53,69,0.5);--bs-danger_opacity_6:rgba(220,53,69,0.6);--bs-danger_opacity_7:rgba(220,53,69,0.7);--bs-danger_opacity_8:rgba(220,53,69,0.8);--bs-danger_opacity_9:rgba(220,53,69,0.9);--bs-info_opacity_1:rgba(23,162,184,0.1);--bs-info_opacity_2:rgba(23,162,184,0.2);--bs-info_opacity_3:rgba(23,162,184,0.3);--bs-info_opacity_4:rgba(23,162,184,0.4);--bs-info_opacity_5:rgba(23,162,184,0.5);--bs-info_opacity_6:rgba(23,162,184,0.6);--bs-info_opacity_7:rgba(23,162,184,0.7);--bs-info_opacity_8:rgba(23,162,184,0.8);--bs-info_opacity_9:rgba(23,162,184,0.9);--bs-warning_opacity_1:rgba(255,193,7,0.1);--bs-warning_opacity_2:rgba(255,193,7,0.2);--bs-warning_opacity_3:rgba(255,193,7,0.3);--bs-warning_opacity_4:rgba(255,193,7,0.4);--bs-warning_opacity_5:rgba(255,193,7,0.5);--bs-warning_opacity_6:rgba(255,193,7,0.6);--bs-warning_opacity_7:rgba(255,193,7,0.7);--bs-warning_opacity_8:rgba(255,193,7,0.8);--bs-warning_opacity_9:rgba(255,193,7,0.9);--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg,hsla(0,0%,100%,0.15),hsla(0,0%,100%,0))}*,:after,:before{box-sizing:border-box}body{margin:0;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd}a:hover{color:#024dbc}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;-ms-overflow-style:scrollbar}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border:0 solid;border-color:inherit}label{display:inline-block}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit;white-space:normal}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\00A0"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:1rem;padding-left:1rem;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex:1 0 100%;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y)*-1);margin-right:calc(var(--bs-gutter-x)/-2);margin-left:calc(var(--bs-gutter-x)/-2)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)/2);padding-left:calc(var(--bs-gutter-x)/2);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333%}.col-2{flex:0 0 auto;width:16.66667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333%}.col-5{flex:0 0 auto;width:41.66667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333%}.col-8{flex:0 0 auto;width:66.66667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333%}.col-11{flex:0 0 auto;width:91.66667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333%}.col-sm-2{flex:0 0 auto;width:16.66667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333%}.col-sm-5{flex:0 0 auto;width:41.66667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333%}.col-sm-8{flex:0 0 auto;width:66.66667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333%}.col-sm-11{flex:0 0 auto;width:91.66667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333%}.col-md-2{flex:0 0 auto;width:16.66667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333%}.col-md-5{flex:0 0 auto;width:41.66667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333%}.col-md-8{flex:0 0 auto;width:66.66667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333%}.col-md-11{flex:0 0 auto;width:91.66667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333%}.col-lg-2{flex:0 0 auto;width:16.66667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333%}.col-lg-5{flex:0 0 auto;width:41.66667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333%}.col-lg-8{flex:0 0 auto;width:66.66667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333%}.col-lg-11{flex:0 0 auto;width:91.66667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333%}.col-xl-2{flex:0 0 auto;width:16.66667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333%}.col-xl-5{flex:0 0 auto;width:41.66667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333%}.col-xl-8{flex:0 0 auto;width:66.66667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333%}.col-xl-11{flex:0 0 auto;width:91.66667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333%}.col-xxl-2{flex:0 0 auto;width:16.66667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333%}.col-xxl-5{flex:0 0 auto;width:41.66667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333%}.col-xxl-8{flex:0 0 auto;width:66.66667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333%}.col-xxl-11{flex:0 0 auto;width:91.66667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0,0,0,0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0,0,0,0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0,0,0,0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);background-image:linear-gradient(var(--bs-table-accent-bg),var(--bs-table-accent-bg));border-bottom-width:1px}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#bbd6fe;--bs-table-striped-bg:#b3cdf3;--bs-table-striped-color:#212529;--bs-table-active-bg:#acc4e9;--bs-table-active-color:#212529;--bs-table-hover-bg:#afc9ee;--bs-table-hover-color:#212529;color:#212529;border-color:#acc4e9}.table-secondary{--bs-table-bg:#d6d8db;--bs-table-striped-bg:#cdcfd2;--bs-table-striped-color:#212529;--bs-table-active-bg:#c4c6c9;--bs-table-active-color:#212529;--bs-table-hover-bg:#c8cbce;--bs-table-hover-color:#212529;color:#212529;border-color:#c4c6c9}.table-success{--bs-table-bg:#c3e6cb;--bs-table-striped-bg:#bbdcc3;--bs-table-striped-color:#212529;--bs-table-active-bg:#b3d3bb;--bs-table-active-color:#212529;--bs-table-hover-bg:#b7d8bf;--bs-table-hover-color:#212529;color:#212529;border-color:#b3d3bb}.table-info{--bs-table-bg:#bee5eb;--bs-table-striped-bg:#b6dbe1;--bs-table-striped-color:#212529;--bs-table-active-bg:#aed2d8;--bs-table-active-color:#212529;--bs-table-hover-bg:#b2d7dc;--bs-table-hover-color:#212529;color:#212529;border-color:#aed2d8}.table-warning{--bs-table-bg:#ffeeba;--bs-table-striped-bg:#f4e4b3;--bs-table-striped-color:#212529;--bs-table-active-bg:#e9daac;--bs-table-active-color:#212529;--bs-table-hover-bg:#eedfaf;--bs-table-hover-color:#212529;color:#212529;border-color:#e9daac}.table-danger{--bs-table-bg:#f5c6cb;--bs-table-striped-bg:#eabec3;--bs-table-striped-color:#212529;--bs-table-active-bg:#e0b6bb;--bs-table-active-color:#212529;--bs-table-hover-bg:#e5babf;--bs-table-hover-color:#212529;color:#212529;border-color:#e0b6bb}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#edeef0;--bs-table-striped-color:#212529;--bs-table-active-bg:#e3e4e5;--bs-table-active-color:#212529;--bs-table-hover-bg:#e8e9ea;--bs-table-hover-color:#212529;color:#212529;border-color:#e3e4e5}.table-dark{--bs-table-bg:#343a40;--bs-table-striped-bg:#3e444a;--bs-table-striped-color:#fff;--bs-table-active-bg:#484e53;--bs-table-active-color:#fff;--bs-table-hover-bg:#43494e;--bs-table-hover-color:#fff;color:#fff;border-color:#484e53}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;min-height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control:focus{color:#495057;background-color:#fff;border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-color{max-width:3rem;padding:.375rem}.form-control-color::-moz-color-swatch{border-radius:.25rem}.form-control-color::-webkit-color-swatch{border-radius:.25rem}.form-select{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.form-select:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-select:focus::-ms-value{color:#495057;background-color:#fff}.form-select[multiple],.form-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.75em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.75em}.form-check-input{width:1.25em;height:1.25em;margin-top:.125em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:50%;background-size:contain;border:1px solid rgba(0,0,0,.25);appearance:none;color-adjust:exact;transition:background-color .15s ease-in-out,background-position .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-check-input{transition:none}}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3 6-6'/%3E%3C/svg%3E")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3E%3C/svg%3E")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3E%3C/svg%3E");background-position:0;border-radius:2em}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%238bbafe'/%3E%3C/svg%3E")}.form-switch .form-check-input:checked{background-position:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.form-file{--bs-form-file-height:calc(1.5em + 0.75rem + 2px);position:relative}.form-file-input{position:relative;z-index:2;width:100%;height:var(--bs-form-file-height);margin:0;opacity:0}.form-file-input:focus-within~.form-file-label{border-color:#8bbafe;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-file-input:disabled~.form-file-label .form-file-text,.form-file-input[disabled]~.form-file-label .form-file-text{background-color:#e9ecef}.form-file-label{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;height:var(--bs-form-file-height);border-color:#ced4da;border-radius:.25rem}.form-file-text{flex-grow:1;overflow:hidden;font-weight:400;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;border:1px solid;border-color:inherit;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.form-file-button,.form-file-text{display:block;padding:.375rem .75rem;line-height:1.5;color:#495057}.form-file-button{flex-shrink:0;margin-left:-1px;background-color:#e9ecef;border:1px solid;border-color:inherit;border-top-right-radius:inherit;border-bottom-right-radius:inherit}.form-file-sm{--bs-form-file-height:calc(1.5em + 0.5rem + 2px);font-size:.875rem}.form-file-sm .form-file-button,.form-file-sm .form-file-text{padding:.25rem .5rem}.form-file-lg{--bs-form-file-height:calc(1.5em + 1rem + 2px);font-size:1.25rem}.form-file-lg .form-file-button,.form-file-lg .form-file-text{padding:.5rem 1rem}.form-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#bed8fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#bed8fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-ms-thumb{transition:none}}.form-range::-ms-thumb:active{background-color:#bed8fe}.form-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.form-range::-ms-fill-lower,.form-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.form-range::-ms-fill-upper{margin-right:15px}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-range:disabled::-ms-thumb{background-color:#adb5bd}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-file,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-file .form-file-input:focus~.form-file-label,.input-group>.form-select:focus{z-index:3}.input-group>.form-file>.form-file-input:focus{z-index:4}.input-group>.form-file:not(:last-child)>.form-file-label{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-file:not(:first-child)>.form-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.form-control{min-height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.form-control{min-height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:1.75rem}.input-group>.dropdown-toggle:nth-last-child(n+3),.input-group>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E"),url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#28a745}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#28a745}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.form-file-input.is-valid~.form-file-label,.was-validated .form-file-input:valid~.form-file-label{border-color:#28a745}.form-file-input.is-valid:focus~.form-file-label,.was-validated .form-file-input:valid:focus~.form-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E"),url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.form-file-input.is-invalid~.form-file-label,.was-validated .form-file-input:invalid~.form-file-label{border-color:#dc3545}.form-file-input.is-invalid:focus~.form-file-label,.was-validated .form-file-input:invalid:focus~.form-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{background-color:#025ce2;border-color:#0257d5}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#025ce2;border-color:#0257d5;box-shadow:0 0 0 .2rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{background-color:#0257d5;border-color:#0252c9}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-secondary,.btn-secondary:focus,.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-check:focus+.btn-secondary,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-check:focus+.btn-success,.btn-success:focus,.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-check:focus+.btn-success,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-check:focus+.btn-info,.btn-info:focus,.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-check:focus+.btn-info,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-warning,.btn-warning:focus,.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-check:focus+.btn-warning,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-danger,.btn-danger:focus,.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-check:focus+.btn-danger,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-light,.btn-light:focus,.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-check:focus+.btn-light,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:focus+.btn-dark,.btn-dark:focus,.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-check:focus+.btn-dark,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-success_opacity_1{color:#fff;background-color:rgba(40,167,69,.1);border-color:rgba(40,167,69,.1)}.btn-check:focus+.btn-success_opacity_1,.btn-success_opacity_1:focus,.btn-success_opacity_1:hover{color:#fff;background-color:rgba(33,136,56,.1);border-color:rgba(30,126,52,.1)}.btn-check:focus+.btn-success_opacity_1,.btn-success_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(206,235,212,.5)}.btn-check:active+.btn-success_opacity_1,.btn-check:checked+.btn-success_opacity_1,.btn-success_opacity_1.active,.btn-success_opacity_1:active,.show>.btn-success_opacity_1.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.1);border-color:rgba(28,116,48,.1)}.btn-check:active+.btn-success_opacity_1:focus,.btn-check:checked+.btn-success_opacity_1:focus,.btn-success_opacity_1.active:focus,.btn-success_opacity_1:active:focus,.show>.btn-success_opacity_1.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(206,235,212,.5)}.btn-success_opacity_1.disabled,.btn-success_opacity_1:disabled{color:#fff;background-color:rgba(40,167,69,.1);border-color:rgba(40,167,69,.1)}.btn-success_opacity_2{color:#fff;background-color:rgba(40,167,69,.2);border-color:rgba(40,167,69,.2)}.btn-check:focus+.btn-success_opacity_2,.btn-success_opacity_2:focus,.btn-success_opacity_2:hover{color:#fff;background-color:rgba(33,136,56,.2);border-color:rgba(30,126,52,.2)}.btn-check:focus+.btn-success_opacity_2,.btn-success_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(172,221,183,.5)}.btn-check:active+.btn-success_opacity_2,.btn-check:checked+.btn-success_opacity_2,.btn-success_opacity_2.active,.btn-success_opacity_2:active,.show>.btn-success_opacity_2.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.2);border-color:rgba(28,116,48,.2)}.btn-check:active+.btn-success_opacity_2:focus,.btn-check:checked+.btn-success_opacity_2:focus,.btn-success_opacity_2.active:focus,.btn-success_opacity_2:active:focus,.show>.btn-success_opacity_2.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(172,221,183,.5)}.btn-success_opacity_2.disabled,.btn-success_opacity_2:disabled{color:#fff;background-color:rgba(40,167,69,.2);border-color:rgba(40,167,69,.2)}.btn-success_opacity_3{color:#fff;background-color:rgba(40,167,69,.3);border-color:rgba(40,167,69,.3)}.btn-check:focus+.btn-success_opacity_3,.btn-success_opacity_3:focus,.btn-success_opacity_3:hover{color:#fff;background-color:rgba(33,136,56,.3);border-color:rgba(30,126,52,.3)}.btn-check:focus+.btn-success_opacity_3,.btn-success_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(148,211,162,.5)}.btn-check:active+.btn-success_opacity_3,.btn-check:checked+.btn-success_opacity_3,.btn-success_opacity_3.active,.btn-success_opacity_3:active,.show>.btn-success_opacity_3.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.3);border-color:rgba(28,116,48,.3)}.btn-check:active+.btn-success_opacity_3:focus,.btn-check:checked+.btn-success_opacity_3:focus,.btn-success_opacity_3.active:focus,.btn-success_opacity_3:active:focus,.show>.btn-success_opacity_3.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(148,211,162,.5)}.btn-success_opacity_3.disabled,.btn-success_opacity_3:disabled{color:#fff;background-color:rgba(40,167,69,.3);border-color:rgba(40,167,69,.3)}.btn-success_opacity_4{color:#fff;background-color:rgba(40,167,69,.4);border-color:rgba(40,167,69,.4)}.btn-check:focus+.btn-success_opacity_4,.btn-success_opacity_4:focus,.btn-success_opacity_4:hover{color:#fff;background-color:rgba(33,136,56,.4);border-color:rgba(30,126,52,.4)}.btn-check:focus+.btn-success_opacity_4,.btn-success_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(129,203,146,.5)}.btn-check:active+.btn-success_opacity_4,.btn-check:checked+.btn-success_opacity_4,.btn-success_opacity_4.active,.btn-success_opacity_4:active,.show>.btn-success_opacity_4.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.4);border-color:rgba(28,116,48,.4)}.btn-check:active+.btn-success_opacity_4:focus,.btn-check:checked+.btn-success_opacity_4:focus,.btn-success_opacity_4.active:focus,.btn-success_opacity_4:active:focus,.show>.btn-success_opacity_4.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(129,203,146,.5)}.btn-success_opacity_4.disabled,.btn-success_opacity_4:disabled{color:#fff;background-color:rgba(40,167,69,.4);border-color:rgba(40,167,69,.4)}.btn-success_opacity_5{color:#fff;background-color:rgba(40,167,69,.5);border-color:rgba(40,167,69,.5)}.btn-check:focus+.btn-success_opacity_5,.btn-success_opacity_5:focus,.btn-success_opacity_5:hover{color:#fff;background-color:rgba(33,136,56,.5);border-color:rgba(30,126,52,.5)}.btn-check:focus+.btn-success_opacity_5,.btn-success_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(114,197,133,.5)}.btn-check:active+.btn-success_opacity_5,.btn-check:checked+.btn-success_opacity_5,.btn-success_opacity_5.active,.btn-success_opacity_5:active,.show>.btn-success_opacity_5.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.5);border-color:rgba(28,116,48,.5)}.btn-check:active+.btn-success_opacity_5:focus,.btn-check:checked+.btn-success_opacity_5:focus,.btn-success_opacity_5.active:focus,.btn-success_opacity_5:active:focus,.show>.btn-success_opacity_5.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(114,197,133,.5)}.btn-success_opacity_5.disabled,.btn-success_opacity_5:disabled{color:#fff;background-color:rgba(40,167,69,.5);border-color:rgba(40,167,69,.5)}.btn-success_opacity_6{color:#fff;background-color:rgba(40,167,69,.6);border-color:rgba(40,167,69,.6)}.btn-check:focus+.btn-success_opacity_6,.btn-success_opacity_6:focus,.btn-success_opacity_6:hover{color:#fff;background-color:rgba(33,136,56,.6);border-color:rgba(30,126,52,.6)}.btn-check:focus+.btn-success_opacity_6,.btn-success_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(103,193,123,.5)}.btn-check:active+.btn-success_opacity_6,.btn-check:checked+.btn-success_opacity_6,.btn-success_opacity_6.active,.btn-success_opacity_6:active,.show>.btn-success_opacity_6.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.6);border-color:rgba(28,116,48,.6)}.btn-check:active+.btn-success_opacity_6:focus,.btn-check:checked+.btn-success_opacity_6:focus,.btn-success_opacity_6.active:focus,.btn-success_opacity_6:active:focus,.show>.btn-success_opacity_6.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(103,193,123,.5)}.btn-success_opacity_6.disabled,.btn-success_opacity_6:disabled{color:#fff;background-color:rgba(40,167,69,.6);border-color:rgba(40,167,69,.6)}.btn-success_opacity_7{color:#fff;background-color:rgba(40,167,69,.7);border-color:rgba(40,167,69,.7)}.btn-check:focus+.btn-success_opacity_7,.btn-success_opacity_7:focus,.btn-success_opacity_7:hover{color:#fff;background-color:rgba(33,136,56,.7);border-color:rgba(30,126,52,.7)}.btn-check:focus+.btn-success_opacity_7,.btn-success_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(93,189,115,.5)}.btn-check:active+.btn-success_opacity_7,.btn-check:checked+.btn-success_opacity_7,.btn-success_opacity_7.active,.btn-success_opacity_7:active,.show>.btn-success_opacity_7.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.7);border-color:rgba(28,116,48,.7)}.btn-check:active+.btn-success_opacity_7:focus,.btn-check:checked+.btn-success_opacity_7:focus,.btn-success_opacity_7.active:focus,.btn-success_opacity_7:active:focus,.show>.btn-success_opacity_7.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(93,189,115,.5)}.btn-success_opacity_7.disabled,.btn-success_opacity_7:disabled{color:#fff;background-color:rgba(40,167,69,.7);border-color:rgba(40,167,69,.7)}.btn-success_opacity_8{color:#fff;background-color:rgba(40,167,69,.8);border-color:rgba(40,167,69,.8)}.btn-check:focus+.btn-success_opacity_8,.btn-success_opacity_8:focus,.btn-success_opacity_8:hover{color:#fff;background-color:rgba(33,136,56,.8);border-color:rgba(30,126,52,.8)}.btn-check:focus+.btn-success_opacity_8,.btn-success_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(85,185,108,.5)}.btn-check:active+.btn-success_opacity_8,.btn-check:checked+.btn-success_opacity_8,.btn-success_opacity_8.active,.btn-success_opacity_8:active,.show>.btn-success_opacity_8.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.8);border-color:rgba(28,116,48,.8)}.btn-check:active+.btn-success_opacity_8:focus,.btn-check:checked+.btn-success_opacity_8:focus,.btn-success_opacity_8.active:focus,.btn-success_opacity_8:active:focus,.show>.btn-success_opacity_8.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(85,185,108,.5)}.btn-success_opacity_8.disabled,.btn-success_opacity_8:disabled{color:#fff;background-color:rgba(40,167,69,.8);border-color:rgba(40,167,69,.8)}.btn-success_opacity_9{color:#fff;background-color:rgba(40,167,69,.9);border-color:rgba(40,167,69,.9)}.btn-check:focus+.btn-success_opacity_9,.btn-success_opacity_9:focus,.btn-success_opacity_9:hover{color:#fff;background-color:rgba(33,136,56,.9);border-color:rgba(30,126,52,.9)}.btn-check:focus+.btn-success_opacity_9,.btn-success_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(78,183,102,.5)}.btn-check:active+.btn-success_opacity_9,.btn-check:checked+.btn-success_opacity_9,.btn-success_opacity_9.active,.btn-success_opacity_9:active,.show>.btn-success_opacity_9.dropdown-toggle{color:#fff;background-color:rgba(30,126,52,.9);border-color:rgba(28,116,48,.9)}.btn-check:active+.btn-success_opacity_9:focus,.btn-check:checked+.btn-success_opacity_9:focus,.btn-success_opacity_9.active:focus,.btn-success_opacity_9:active:focus,.show>.btn-success_opacity_9.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(78,183,102,.5)}.btn-success_opacity_9.disabled,.btn-success_opacity_9:disabled{color:#fff;background-color:rgba(40,167,69,.9);border-color:rgba(40,167,69,.9)}.btn-primary_opacity_1{color:#fff;background-color:rgba(13,110,253,.1);border-color:rgba(13,110,253,.1)}.btn-check:focus+.btn-primary_opacity_1,.btn-primary_opacity_1:focus,.btn-primary_opacity_1:hover{color:#fff;background-color:rgba(2,92,226,.1);border-color:rgba(2,87,213,.1)}.btn-check:focus+.btn-primary_opacity_1,.btn-primary_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(199,222,255,.5)}.btn-check:active+.btn-primary_opacity_1,.btn-check:checked+.btn-primary_opacity_1,.btn-primary_opacity_1.active,.btn-primary_opacity_1:active,.show>.btn-primary_opacity_1.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.1);border-color:rgba(2,82,201,.1)}.btn-check:active+.btn-primary_opacity_1:focus,.btn-check:checked+.btn-primary_opacity_1:focus,.btn-primary_opacity_1.active:focus,.btn-primary_opacity_1:active:focus,.show>.btn-primary_opacity_1.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(199,222,255,.5)}.btn-primary_opacity_1.disabled,.btn-primary_opacity_1:disabled{color:#fff;background-color:rgba(13,110,253,.1);border-color:rgba(13,110,253,.1)}.btn-primary_opacity_2{color:#fff;background-color:rgba(13,110,253,.2);border-color:rgba(13,110,253,.2)}.btn-check:focus+.btn-primary_opacity_2,.btn-primary_opacity_2:focus,.btn-primary_opacity_2:hover{color:#fff;background-color:rgba(2,92,226,.2);border-color:rgba(2,87,213,.2)}.btn-check:focus+.btn-primary_opacity_2,.btn-primary_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(162,199,254,.5)}.btn-check:active+.btn-primary_opacity_2,.btn-check:checked+.btn-primary_opacity_2,.btn-primary_opacity_2.active,.btn-primary_opacity_2:active,.show>.btn-primary_opacity_2.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.2);border-color:rgba(2,82,201,.2)}.btn-check:active+.btn-primary_opacity_2:focus,.btn-check:checked+.btn-primary_opacity_2:focus,.btn-primary_opacity_2.active:focus,.btn-primary_opacity_2:active:focus,.show>.btn-primary_opacity_2.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(162,199,254,.5)}.btn-primary_opacity_2.disabled,.btn-primary_opacity_2:disabled{color:#fff;background-color:rgba(13,110,253,.2);border-color:rgba(13,110,253,.2)}.btn-primary_opacity_3{color:#fff;background-color:rgba(13,110,253,.3);border-color:rgba(13,110,253,.3)}.btn-check:focus+.btn-primary_opacity_3,.btn-primary_opacity_3:focus,.btn-primary_opacity_3:hover{color:#fff;background-color:rgba(2,92,226,.3);border-color:rgba(2,87,213,.3)}.btn-check:focus+.btn-primary_opacity_3,.btn-primary_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(134,183,254,.5)}.btn-check:active+.btn-primary_opacity_3,.btn-check:checked+.btn-primary_opacity_3,.btn-primary_opacity_3.active,.btn-primary_opacity_3:active,.show>.btn-primary_opacity_3.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.3);border-color:rgba(2,82,201,.3)}.btn-check:active+.btn-primary_opacity_3:focus,.btn-check:checked+.btn-primary_opacity_3:focus,.btn-primary_opacity_3.active:focus,.btn-primary_opacity_3:active:focus,.show>.btn-primary_opacity_3.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(134,183,254,.5)}.btn-primary_opacity_3.disabled,.btn-primary_opacity_3:disabled{color:#fff;background-color:rgba(13,110,253,.3);border-color:rgba(13,110,253,.3)}.btn-primary_opacity_4{color:#fff;background-color:rgba(13,110,253,.4);border-color:rgba(13,110,253,.4)}.btn-check:focus+.btn-primary_opacity_4,.btn-primary_opacity_4:focus,.btn-primary_opacity_4:hover{color:#fff;background-color:rgba(2,92,226,.4);border-color:rgba(2,87,213,.4)}.btn-check:focus+.btn-primary_opacity_4,.btn-primary_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(113,170,254,.5)}.btn-check:active+.btn-primary_opacity_4,.btn-check:checked+.btn-primary_opacity_4,.btn-primary_opacity_4.active,.btn-primary_opacity_4:active,.show>.btn-primary_opacity_4.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.4);border-color:rgba(2,82,201,.4)}.btn-check:active+.btn-primary_opacity_4:focus,.btn-check:checked+.btn-primary_opacity_4:focus,.btn-primary_opacity_4.active:focus,.btn-primary_opacity_4:active:focus,.show>.btn-primary_opacity_4.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(113,170,254,.5)}.btn-primary_opacity_4.disabled,.btn-primary_opacity_4:disabled{color:#fff;background-color:rgba(13,110,253,.4);border-color:rgba(13,110,253,.4)}.btn-primary_opacity_5{color:#fff;background-color:rgba(13,110,253,.5);border-color:rgba(13,110,253,.5)}.btn-check:focus+.btn-primary_opacity_5,.btn-primary_opacity_5:focus,.btn-primary_opacity_5:hover{color:#fff;background-color:rgba(2,92,226,.5);border-color:rgba(2,87,213,.5)}.btn-check:focus+.btn-primary_opacity_5,.btn-primary_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(97,160,254,.5)}.btn-check:active+.btn-primary_opacity_5,.btn-check:checked+.btn-primary_opacity_5,.btn-primary_opacity_5.active,.btn-primary_opacity_5:active,.show>.btn-primary_opacity_5.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.5);border-color:rgba(2,82,201,.5)}.btn-check:active+.btn-primary_opacity_5:focus,.btn-check:checked+.btn-primary_opacity_5:focus,.btn-primary_opacity_5.active:focus,.btn-primary_opacity_5:active:focus,.show>.btn-primary_opacity_5.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(97,160,254,.5)}.btn-primary_opacity_5.disabled,.btn-primary_opacity_5:disabled{color:#fff;background-color:rgba(13,110,253,.5);border-color:rgba(13,110,253,.5)}.btn-primary_opacity_6{color:#fff;background-color:rgba(13,110,253,.6);border-color:rgba(13,110,253,.6)}.btn-check:focus+.btn-primary_opacity_6,.btn-primary_opacity_6:focus,.btn-primary_opacity_6:hover{color:#fff;background-color:rgba(2,92,226,.6);border-color:rgba(2,87,213,.6)}.btn-check:focus+.btn-primary_opacity_6,.btn-primary_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(84,152,254,.5)}.btn-check:active+.btn-primary_opacity_6,.btn-check:checked+.btn-primary_opacity_6,.btn-primary_opacity_6.active,.btn-primary_opacity_6:active,.show>.btn-primary_opacity_6.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.6);border-color:rgba(2,82,201,.6)}.btn-check:active+.btn-primary_opacity_6:focus,.btn-check:checked+.btn-primary_opacity_6:focus,.btn-primary_opacity_6.active:focus,.btn-primary_opacity_6:active:focus,.show>.btn-primary_opacity_6.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(84,152,254,.5)}.btn-primary_opacity_6.disabled,.btn-primary_opacity_6:disabled{color:#fff;background-color:rgba(13,110,253,.6);border-color:rgba(13,110,253,.6)}.btn-primary_opacity_7{color:#fff;background-color:rgba(13,110,253,.7);border-color:rgba(13,110,253,.7)}.btn-check:focus+.btn-primary_opacity_7,.btn-primary_opacity_7:focus,.btn-primary_opacity_7:hover{color:#fff;background-color:rgba(2,92,226,.7);border-color:rgba(2,87,213,.7)}.btn-check:focus+.btn-primary_opacity_7,.btn-primary_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(73,146,253,.5)}.btn-check:active+.btn-primary_opacity_7,.btn-check:checked+.btn-primary_opacity_7,.btn-primary_opacity_7.active,.btn-primary_opacity_7:active,.show>.btn-primary_opacity_7.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.7);border-color:rgba(2,82,201,.7)}.btn-check:active+.btn-primary_opacity_7:focus,.btn-check:checked+.btn-primary_opacity_7:focus,.btn-primary_opacity_7.active:focus,.btn-primary_opacity_7:active:focus,.show>.btn-primary_opacity_7.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(73,146,253,.5)}.btn-primary_opacity_7.disabled,.btn-primary_opacity_7:disabled{color:#fff;background-color:rgba(13,110,253,.7);border-color:rgba(13,110,253,.7)}.btn-primary_opacity_8{color:#fff;background-color:rgba(13,110,253,.8);border-color:rgba(13,110,253,.8)}.btn-check:focus+.btn-primary_opacity_8,.btn-primary_opacity_8:focus,.btn-primary_opacity_8:hover{color:#fff;background-color:rgba(2,92,226,.8);border-color:rgba(2,87,213,.8)}.btn-check:focus+.btn-primary_opacity_8,.btn-primary_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(64,140,253,.5)}.btn-check:active+.btn-primary_opacity_8,.btn-check:checked+.btn-primary_opacity_8,.btn-primary_opacity_8.active,.btn-primary_opacity_8:active,.show>.btn-primary_opacity_8.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.8);border-color:rgba(2,82,201,.8)}.btn-check:active+.btn-primary_opacity_8:focus,.btn-check:checked+.btn-primary_opacity_8:focus,.btn-primary_opacity_8.active:focus,.btn-primary_opacity_8:active:focus,.show>.btn-primary_opacity_8.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(64,140,253,.5)}.btn-primary_opacity_8.disabled,.btn-primary_opacity_8:disabled{color:#fff;background-color:rgba(13,110,253,.8);border-color:rgba(13,110,253,.8)}.btn-primary_opacity_9{color:#fff;background-color:rgba(13,110,253,.9);border-color:rgba(13,110,253,.9)}.btn-check:focus+.btn-primary_opacity_9,.btn-primary_opacity_9:focus,.btn-primary_opacity_9:hover{color:#fff;background-color:rgba(2,92,226,.9);border-color:rgba(2,87,213,.9)}.btn-check:focus+.btn-primary_opacity_9,.btn-primary_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(56,136,253,.5)}.btn-check:active+.btn-primary_opacity_9,.btn-check:checked+.btn-primary_opacity_9,.btn-primary_opacity_9.active,.btn-primary_opacity_9:active,.show>.btn-primary_opacity_9.dropdown-toggle{color:#fff;background-color:rgba(2,87,213,.9);border-color:rgba(2,82,201,.9)}.btn-check:active+.btn-primary_opacity_9:focus,.btn-check:checked+.btn-primary_opacity_9:focus,.btn-primary_opacity_9.active:focus,.btn-primary_opacity_9:active:focus,.show>.btn-primary_opacity_9.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(56,136,253,.5)}.btn-primary_opacity_9.disabled,.btn-primary_opacity_9:disabled{color:#fff;background-color:rgba(13,110,253,.9);border-color:rgba(13,110,253,.9)}.btn-danger_opacity_1{color:#fff;background-color:rgba(220,53,69,.1);border-color:rgba(220,53,69,.1)}.btn-check:focus+.btn-danger_opacity_1,.btn-danger_opacity_1:focus,.btn-danger_opacity_1:hover{color:#fff;background-color:rgba(200,35,51,.1);border-color:rgba(189,33,48,.1)}.btn-check:focus+.btn-danger_opacity_1,.btn-danger_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(247,209,212,.5)}.btn-check:active+.btn-danger_opacity_1,.btn-check:checked+.btn-danger_opacity_1,.btn-danger_opacity_1.active,.btn-danger_opacity_1:active,.show>.btn-danger_opacity_1.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.1);border-color:rgba(178,31,45,.1)}.btn-check:active+.btn-danger_opacity_1:focus,.btn-check:checked+.btn-danger_opacity_1:focus,.btn-danger_opacity_1.active:focus,.btn-danger_opacity_1:active:focus,.show>.btn-danger_opacity_1.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(247,209,212,.5)}.btn-danger_opacity_1.disabled,.btn-danger_opacity_1:disabled{color:#fff;background-color:rgba(220,53,69,.1);border-color:rgba(220,53,69,.1)}.btn-danger_opacity_2{color:#fff;background-color:rgba(220,53,69,.2);border-color:rgba(220,53,69,.2)}.btn-check:focus+.btn-danger_opacity_2,.btn-danger_opacity_2:focus,.btn-danger_opacity_2:hover{color:#fff;background-color:rgba(200,35,51,.2);border-color:rgba(189,33,48,.2)}.btn-check:focus+.btn-danger_opacity_2,.btn-danger_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(241,177,183,.5)}.btn-check:active+.btn-danger_opacity_2,.btn-check:checked+.btn-danger_opacity_2,.btn-danger_opacity_2.active,.btn-danger_opacity_2:active,.show>.btn-danger_opacity_2.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.2);border-color:rgba(178,31,45,.2)}.btn-check:active+.btn-danger_opacity_2:focus,.btn-check:checked+.btn-danger_opacity_2:focus,.btn-danger_opacity_2.active:focus,.btn-danger_opacity_2:active:focus,.show>.btn-danger_opacity_2.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(241,177,183,.5)}.btn-danger_opacity_2.disabled,.btn-danger_opacity_2:disabled{color:#fff;background-color:rgba(220,53,69,.2);border-color:rgba(220,53,69,.2)}.btn-danger_opacity_3{color:#fff;background-color:rgba(220,53,69,.3);border-color:rgba(220,53,69,.3)}.btn-check:focus+.btn-danger_opacity_3,.btn-danger_opacity_3:focus,.btn-danger_opacity_3:hover{color:#fff;background-color:rgba(200,35,51,.3);border-color:rgba(189,33,48,.3)}.btn-check:focus+.btn-danger_opacity_3,.btn-danger_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(238,154,162,.5)}.btn-check:active+.btn-danger_opacity_3,.btn-check:checked+.btn-danger_opacity_3,.btn-danger_opacity_3.active,.btn-danger_opacity_3:active,.show>.btn-danger_opacity_3.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.3);border-color:rgba(178,31,45,.3)}.btn-check:active+.btn-danger_opacity_3:focus,.btn-check:checked+.btn-danger_opacity_3:focus,.btn-danger_opacity_3.active:focus,.btn-danger_opacity_3:active:focus,.show>.btn-danger_opacity_3.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(238,154,162,.5)}.btn-danger_opacity_3.disabled,.btn-danger_opacity_3:disabled{color:#fff;background-color:rgba(220,53,69,.3);border-color:rgba(220,53,69,.3)}.btn-danger_opacity_4{color:#fff;background-color:rgba(220,53,69,.4);border-color:rgba(220,53,69,.4)}.btn-check:focus+.btn-danger_opacity_4,.btn-danger_opacity_4:focus,.btn-danger_opacity_4:hover{color:#fff;background-color:rgba(200,35,51,.4);border-color:rgba(189,33,48,.4)}.btn-check:focus+.btn-danger_opacity_4,.btn-danger_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(234,137,146,.5)}.btn-check:active+.btn-danger_opacity_4,.btn-check:checked+.btn-danger_opacity_4,.btn-danger_opacity_4.active,.btn-danger_opacity_4:active,.show>.btn-danger_opacity_4.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.4);border-color:rgba(178,31,45,.4)}.btn-check:active+.btn-danger_opacity_4:focus,.btn-check:checked+.btn-danger_opacity_4:focus,.btn-danger_opacity_4.active:focus,.btn-danger_opacity_4:active:focus,.show>.btn-danger_opacity_4.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(234,137,146,.5)}.btn-danger_opacity_4.disabled,.btn-danger_opacity_4:disabled{color:#fff;background-color:rgba(220,53,69,.4);border-color:rgba(220,53,69,.4)}.btn-danger_opacity_5{color:#fff;background-color:rgba(220,53,69,.5);border-color:rgba(220,53,69,.5)}.btn-check:focus+.btn-danger_opacity_5,.btn-danger_opacity_5:focus,.btn-danger_opacity_5:hover{color:#fff;background-color:rgba(200,35,51,.5);border-color:rgba(189,33,48,.5)}.btn-check:focus+.btn-danger_opacity_5,.btn-danger_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(232,123,133,.5)}.btn-check:active+.btn-danger_opacity_5,.btn-check:checked+.btn-danger_opacity_5,.btn-danger_opacity_5.active,.btn-danger_opacity_5:active,.show>.btn-danger_opacity_5.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.5);border-color:rgba(178,31,45,.5)}.btn-check:active+.btn-danger_opacity_5:focus,.btn-check:checked+.btn-danger_opacity_5:focus,.btn-danger_opacity_5.active:focus,.btn-danger_opacity_5:active:focus,.show>.btn-danger_opacity_5.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(232,123,133,.5)}.btn-danger_opacity_5.disabled,.btn-danger_opacity_5:disabled{color:#fff;background-color:rgba(220,53,69,.5);border-color:rgba(220,53,69,.5)}.btn-danger_opacity_6{color:#fff;background-color:rgba(220,53,69,.6);border-color:rgba(220,53,69,.6)}.btn-check:focus+.btn-danger_opacity_6,.btn-danger_opacity_6:focus,.btn-danger_opacity_6:hover{color:#fff;background-color:rgba(200,35,51,.6);border-color:rgba(189,33,48,.6)}.btn-check:focus+.btn-danger_opacity_6,.btn-danger_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(230,112,123,.5)}.btn-check:active+.btn-danger_opacity_6,.btn-check:checked+.btn-danger_opacity_6,.btn-danger_opacity_6.active,.btn-danger_opacity_6:active,.show>.btn-danger_opacity_6.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.6);border-color:rgba(178,31,45,.6)}.btn-check:active+.btn-danger_opacity_6:focus,.btn-check:checked+.btn-danger_opacity_6:focus,.btn-danger_opacity_6.active:focus,.btn-danger_opacity_6:active:focus,.show>.btn-danger_opacity_6.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(230,112,123,.5)}.btn-danger_opacity_6.disabled,.btn-danger_opacity_6:disabled{color:#fff;background-color:rgba(220,53,69,.6);border-color:rgba(220,53,69,.6)}.btn-danger_opacity_7{color:#fff;background-color:rgba(220,53,69,.7);border-color:rgba(220,53,69,.7)}.btn-check:focus+.btn-danger_opacity_7,.btn-danger_opacity_7:focus,.btn-danger_opacity_7:hover{color:#fff;background-color:rgba(200,35,51,.7);border-color:rgba(189,33,48,.7)}.btn-check:focus+.btn-danger_opacity_7,.btn-danger_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(229,103,115,.5)}.btn-check:active+.btn-danger_opacity_7,.btn-check:checked+.btn-danger_opacity_7,.btn-danger_opacity_7.active,.btn-danger_opacity_7:active,.show>.btn-danger_opacity_7.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.7);border-color:rgba(178,31,45,.7)}.btn-check:active+.btn-danger_opacity_7:focus,.btn-check:checked+.btn-danger_opacity_7:focus,.btn-danger_opacity_7.active:focus,.btn-danger_opacity_7:active:focus,.show>.btn-danger_opacity_7.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(229,103,115,.5)}.btn-danger_opacity_7.disabled,.btn-danger_opacity_7:disabled{color:#fff;background-color:rgba(220,53,69,.7);border-color:rgba(220,53,69,.7)}.btn-danger_opacity_8{color:#fff;background-color:rgba(220,53,69,.8);border-color:rgba(220,53,69,.8)}.btn-check:focus+.btn-danger_opacity_8,.btn-danger_opacity_8:focus,.btn-danger_opacity_8:hover{color:#fff;background-color:rgba(200,35,51,.8);border-color:rgba(189,33,48,.8)}.btn-check:focus+.btn-danger_opacity_8,.btn-danger_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(227,95,108,.5)}.btn-check:active+.btn-danger_opacity_8,.btn-check:checked+.btn-danger_opacity_8,.btn-danger_opacity_8.active,.btn-danger_opacity_8:active,.show>.btn-danger_opacity_8.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.8);border-color:rgba(178,31,45,.8)}.btn-check:active+.btn-danger_opacity_8:focus,.btn-check:checked+.btn-danger_opacity_8:focus,.btn-danger_opacity_8.active:focus,.btn-danger_opacity_8:active:focus,.show>.btn-danger_opacity_8.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(227,95,108,.5)}.btn-danger_opacity_8.disabled,.btn-danger_opacity_8:disabled{color:#fff;background-color:rgba(220,53,69,.8);border-color:rgba(220,53,69,.8)}.btn-danger_opacity_9{color:#fff;background-color:rgba(220,53,69,.9);border-color:rgba(220,53,69,.9)}.btn-check:focus+.btn-danger_opacity_9,.btn-danger_opacity_9:focus,.btn-danger_opacity_9:hover{color:#fff;background-color:rgba(200,35,51,.9);border-color:rgba(189,33,48,.9)}.btn-check:focus+.btn-danger_opacity_9,.btn-danger_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(226,89,102,.5)}.btn-check:active+.btn-danger_opacity_9,.btn-check:checked+.btn-danger_opacity_9,.btn-danger_opacity_9.active,.btn-danger_opacity_9:active,.show>.btn-danger_opacity_9.dropdown-toggle{color:#fff;background-color:rgba(189,33,48,.9);border-color:rgba(178,31,45,.9)}.btn-check:active+.btn-danger_opacity_9:focus,.btn-check:checked+.btn-danger_opacity_9:focus,.btn-danger_opacity_9.active:focus,.btn-danger_opacity_9:active:focus,.show>.btn-danger_opacity_9.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(226,89,102,.5)}.btn-danger_opacity_9.disabled,.btn-danger_opacity_9:disabled{color:#fff;background-color:rgba(220,53,69,.9);border-color:rgba(220,53,69,.9)}.btn-info_opacity_1{color:#fff;background-color:rgba(23,162,184,.1);border-color:rgba(23,162,184,.1)}.btn-check:focus+.btn-info_opacity_1,.btn-info_opacity_1:focus,.btn-info_opacity_1:hover{color:#fff;background-color:rgba(19,132,150,.1);border-color:rgba(17,122,139,.1)}.btn-check:focus+.btn-info_opacity_1,.btn-info_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(202,234,239,.5)}.btn-check:active+.btn-info_opacity_1,.btn-check:checked+.btn-info_opacity_1,.btn-info_opacity_1.active,.btn-info_opacity_1:active,.show>.btn-info_opacity_1.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.1);border-color:rgba(16,112,127,.1)}.btn-check:active+.btn-info_opacity_1:focus,.btn-check:checked+.btn-info_opacity_1:focus,.btn-info_opacity_1.active:focus,.btn-info_opacity_1:active:focus,.show>.btn-info_opacity_1.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(202,234,239,.5)}.btn-info_opacity_1.disabled,.btn-info_opacity_1:disabled{color:#fff;background-color:rgba(23,162,184,.1);border-color:rgba(23,162,184,.1)}.btn-info_opacity_2{color:#fff;background-color:rgba(23,162,184,.2);border-color:rgba(23,162,184,.2)}.btn-check:focus+.btn-info_opacity_2,.btn-info_opacity_2:focus,.btn-info_opacity_2:hover{color:#fff;background-color:rgba(19,132,150,.2);border-color:rgba(17,122,139,.2)}.btn-check:focus+.btn-info_opacity_2,.btn-info_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(165,219,228,.5)}.btn-check:active+.btn-info_opacity_2,.btn-check:checked+.btn-info_opacity_2,.btn-info_opacity_2.active,.btn-info_opacity_2:active,.show>.btn-info_opacity_2.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.2);border-color:rgba(16,112,127,.2)}.btn-check:active+.btn-info_opacity_2:focus,.btn-check:checked+.btn-info_opacity_2:focus,.btn-info_opacity_2.active:focus,.btn-info_opacity_2:active:focus,.show>.btn-info_opacity_2.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(165,219,228,.5)}.btn-info_opacity_2.disabled,.btn-info_opacity_2:disabled{color:#fff;background-color:rgba(23,162,184,.2);border-color:rgba(23,162,184,.2)}.btn-info_opacity_3{color:#fff;background-color:rgba(23,162,184,.3);border-color:rgba(23,162,184,.3)}.btn-check:focus+.btn-info_opacity_3,.btn-info_opacity_3:focus,.btn-info_opacity_3:hover{color:#fff;background-color:rgba(19,132,150,.3);border-color:rgba(17,122,139,.3)}.btn-check:focus+.btn-info_opacity_3,.btn-info_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(139,209,220,.5)}.btn-check:active+.btn-info_opacity_3,.btn-check:checked+.btn-info_opacity_3,.btn-info_opacity_3.active,.btn-info_opacity_3:active,.show>.btn-info_opacity_3.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.3);border-color:rgba(16,112,127,.3)}.btn-check:active+.btn-info_opacity_3:focus,.btn-check:checked+.btn-info_opacity_3:focus,.btn-info_opacity_3.active:focus,.btn-info_opacity_3:active:focus,.show>.btn-info_opacity_3.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(139,209,220,.5)}.btn-info_opacity_3.disabled,.btn-info_opacity_3:disabled{color:#fff;background-color:rgba(23,162,184,.3);border-color:rgba(23,162,184,.3)}.btn-info_opacity_4{color:#fff;background-color:rgba(23,162,184,.4);border-color:rgba(23,162,184,.4)}.btn-check:focus+.btn-info_opacity_4,.btn-info_opacity_4:focus,.btn-info_opacity_4:hover{color:#fff;background-color:rgba(19,132,150,.4);border-color:rgba(17,122,139,.4)}.btn-check:focus+.btn-info_opacity_4,.btn-info_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(119,200,213,.5)}.btn-check:active+.btn-info_opacity_4,.btn-check:checked+.btn-info_opacity_4,.btn-info_opacity_4.active,.btn-info_opacity_4:active,.show>.btn-info_opacity_4.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.4);border-color:rgba(16,112,127,.4)}.btn-check:active+.btn-info_opacity_4:focus,.btn-check:checked+.btn-info_opacity_4:focus,.btn-info_opacity_4.active:focus,.btn-info_opacity_4:active:focus,.show>.btn-info_opacity_4.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(119,200,213,.5)}.btn-info_opacity_4.disabled,.btn-info_opacity_4:disabled{color:#fff;background-color:rgba(23,162,184,.4);border-color:rgba(23,162,184,.4)}.btn-info_opacity_5{color:#fff;background-color:rgba(23,162,184,.5);border-color:rgba(23,162,184,.5)}.btn-check:focus+.btn-info_opacity_5,.btn-info_opacity_5:focus,.btn-info_opacity_5:hover{color:#fff;background-color:rgba(19,132,150,.5);border-color:rgba(17,122,139,.5)}.btn-check:focus+.btn-info_opacity_5,.btn-info_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(103,194,209,.5)}.btn-check:active+.btn-info_opacity_5,.btn-check:checked+.btn-info_opacity_5,.btn-info_opacity_5.active,.btn-info_opacity_5:active,.show>.btn-info_opacity_5.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.5);border-color:rgba(16,112,127,.5)}.btn-check:active+.btn-info_opacity_5:focus,.btn-check:checked+.btn-info_opacity_5:focus,.btn-info_opacity_5.active:focus,.btn-info_opacity_5:active:focus,.show>.btn-info_opacity_5.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(103,194,209,.5)}.btn-info_opacity_5.disabled,.btn-info_opacity_5:disabled{color:#fff;background-color:rgba(23,162,184,.5);border-color:rgba(23,162,184,.5)}.btn-info_opacity_6{color:#fff;background-color:rgba(23,162,184,.6);border-color:rgba(23,162,184,.6)}.btn-check:focus+.btn-info_opacity_6,.btn-info_opacity_6:focus,.btn-info_opacity_6:hover{color:#fff;background-color:rgba(19,132,150,.6);border-color:rgba(17,122,139,.6)}.btn-check:focus+.btn-info_opacity_6,.btn-info_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(91,189,205,.5)}.btn-check:active+.btn-info_opacity_6,.btn-check:checked+.btn-info_opacity_6,.btn-info_opacity_6.active,.btn-info_opacity_6:active,.show>.btn-info_opacity_6.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.6);border-color:rgba(16,112,127,.6)}.btn-check:active+.btn-info_opacity_6:focus,.btn-check:checked+.btn-info_opacity_6:focus,.btn-info_opacity_6.active:focus,.btn-info_opacity_6:active:focus,.show>.btn-info_opacity_6.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(91,189,205,.5)}.btn-info_opacity_6.disabled,.btn-info_opacity_6:disabled{color:#fff;background-color:rgba(23,162,184,.6);border-color:rgba(23,162,184,.6)}.btn-info_opacity_7{color:#fff;background-color:rgba(23,162,184,.7);border-color:rgba(23,162,184,.7)}.btn-check:focus+.btn-info_opacity_7,.btn-info_opacity_7:focus,.btn-info_opacity_7:hover{color:#fff;background-color:rgba(19,132,150,.7);border-color:rgba(17,122,139,.7)}.btn-check:focus+.btn-info_opacity_7,.btn-info_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(80,185,202,.5)}.btn-check:active+.btn-info_opacity_7,.btn-check:checked+.btn-info_opacity_7,.btn-info_opacity_7.active,.btn-info_opacity_7:active,.show>.btn-info_opacity_7.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.7);border-color:rgba(16,112,127,.7)}.btn-check:active+.btn-info_opacity_7:focus,.btn-check:checked+.btn-info_opacity_7:focus,.btn-info_opacity_7.active:focus,.btn-info_opacity_7:active:focus,.show>.btn-info_opacity_7.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(80,185,202,.5)}.btn-info_opacity_7.disabled,.btn-info_opacity_7:disabled{color:#fff;background-color:rgba(23,162,184,.7);border-color:rgba(23,162,184,.7)}.btn-info_opacity_8{color:#fff;background-color:rgba(23,162,184,.8);border-color:rgba(23,162,184,.8)}.btn-check:focus+.btn-info_opacity_8,.btn-info_opacity_8:focus,.btn-info_opacity_8:hover{color:#fff;background-color:rgba(19,132,150,.8);border-color:rgba(17,122,139,.8)}.btn-check:focus+.btn-info_opacity_8,.btn-info_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(72,181,199,.5)}.btn-check:active+.btn-info_opacity_8,.btn-check:checked+.btn-info_opacity_8,.btn-info_opacity_8.active,.btn-info_opacity_8:active,.show>.btn-info_opacity_8.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.8);border-color:rgba(16,112,127,.8)}.btn-check:active+.btn-info_opacity_8:focus,.btn-check:checked+.btn-info_opacity_8:focus,.btn-info_opacity_8.active:focus,.btn-info_opacity_8:active:focus,.show>.btn-info_opacity_8.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,181,199,.5)}.btn-info_opacity_8.disabled,.btn-info_opacity_8:disabled{color:#fff;background-color:rgba(23,162,184,.8);border-color:rgba(23,162,184,.8)}.btn-info_opacity_9{color:#fff;background-color:rgba(23,162,184,.9);border-color:rgba(23,162,184,.9)}.btn-check:focus+.btn-info_opacity_9,.btn-info_opacity_9:focus,.btn-info_opacity_9:hover{color:#fff;background-color:rgba(19,132,150,.9);border-color:rgba(17,122,139,.9)}.btn-check:focus+.btn-info_opacity_9,.btn-info_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(64,179,197,.5)}.btn-check:active+.btn-info_opacity_9,.btn-check:checked+.btn-info_opacity_9,.btn-info_opacity_9.active,.btn-info_opacity_9:active,.show>.btn-info_opacity_9.dropdown-toggle{color:#fff;background-color:rgba(17,122,139,.9);border-color:rgba(16,112,127,.9)}.btn-check:active+.btn-info_opacity_9:focus,.btn-check:checked+.btn-info_opacity_9:focus,.btn-info_opacity_9.active:focus,.btn-info_opacity_9:active:focus,.show>.btn-info_opacity_9.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(64,179,197,.5)}.btn-info_opacity_9.disabled,.btn-info_opacity_9:disabled{color:#fff;background-color:rgba(23,162,184,.9);border-color:rgba(23,162,184,.9)}.btn-warning_opacity_1{color:#212529;background-color:rgba(255,193,7,.1);border-color:rgba(255,193,7,.1)}.btn-check:focus+.btn-warning_opacity_1,.btn-warning_opacity_1:focus,.btn-warning_opacity_1:hover{color:#212529;background-color:rgba(224,168,0,.1);border-color:rgba(211,158,0,.1)}.btn-check:focus+.btn-warning_opacity_1,.btn-warning_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(84,73,33,.5)}.btn-check:active+.btn-warning_opacity_1,.btn-check:checked+.btn-warning_opacity_1,.btn-warning_opacity_1.active,.btn-warning_opacity_1:active,.show>.btn-warning_opacity_1.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.1);border-color:rgba(198,149,0,.1)}.btn-check:active+.btn-warning_opacity_1:focus,.btn-check:checked+.btn-warning_opacity_1:focus,.btn-warning_opacity_1.active:focus,.btn-warning_opacity_1:active:focus,.show>.btn-warning_opacity_1.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(84,73,33,.5)}.btn-warning_opacity_1.disabled,.btn-warning_opacity_1:disabled{color:#212529;background-color:rgba(255,193,7,.1);border-color:rgba(255,193,7,.1)}.btn-warning_opacity_2{color:#212529;background-color:rgba(255,193,7,.2);border-color:rgba(255,193,7,.2)}.btn-check:focus+.btn-warning_opacity_2,.btn-warning_opacity_2:focus,.btn-warning_opacity_2:hover{color:#212529;background-color:rgba(224,168,0,.2);border-color:rgba(211,158,0,.2)}.btn-check:focus+.btn-warning_opacity_2,.btn-warning_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(119,97,28,.5)}.btn-check:active+.btn-warning_opacity_2,.btn-check:checked+.btn-warning_opacity_2,.btn-warning_opacity_2.active,.btn-warning_opacity_2:active,.show>.btn-warning_opacity_2.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.2);border-color:rgba(198,149,0,.2)}.btn-check:active+.btn-warning_opacity_2:focus,.btn-check:checked+.btn-warning_opacity_2:focus,.btn-warning_opacity_2.active:focus,.btn-warning_opacity_2:active:focus,.show>.btn-warning_opacity_2.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(119,97,28,.5)}.btn-warning_opacity_2.disabled,.btn-warning_opacity_2:disabled{color:#212529;background-color:rgba(255,193,7,.2);border-color:rgba(255,193,7,.2)}.btn-warning_opacity_3{color:#212529;background-color:rgba(255,193,7,.3);border-color:rgba(255,193,7,.3)}.btn-check:focus+.btn-warning_opacity_3,.btn-warning_opacity_3:focus,.btn-warning_opacity_3:hover{color:#212529;background-color:rgba(224,168,0,.3);border-color:rgba(211,158,0,.3)}.btn-check:focus+.btn-warning_opacity_3,.btn-warning_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(144,115,24,.5)}.btn-check:active+.btn-warning_opacity_3,.btn-check:checked+.btn-warning_opacity_3,.btn-warning_opacity_3.active,.btn-warning_opacity_3:active,.show>.btn-warning_opacity_3.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.3);border-color:rgba(198,149,0,.3)}.btn-check:active+.btn-warning_opacity_3:focus,.btn-check:checked+.btn-warning_opacity_3:focus,.btn-warning_opacity_3.active:focus,.btn-warning_opacity_3:active:focus,.show>.btn-warning_opacity_3.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(144,115,24,.5)}.btn-warning_opacity_3.disabled,.btn-warning_opacity_3:disabled{color:#212529;background-color:rgba(255,193,7,.3);border-color:rgba(255,193,7,.3)}.btn-warning_opacity_4{color:#212529;background-color:rgba(255,193,7,.4);border-color:rgba(255,193,7,.4)}.btn-check:focus+.btn-warning_opacity_4,.btn-warning_opacity_4:focus,.btn-warning_opacity_4:hover{color:#212529;background-color:rgba(224,168,0,.4);border-color:rgba(211,158,0,.4)}.btn-check:focus+.btn-warning_opacity_4,.btn-warning_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(163,128,21,.5)}.btn-check:active+.btn-warning_opacity_4,.btn-check:checked+.btn-warning_opacity_4,.btn-warning_opacity_4.active,.btn-warning_opacity_4:active,.show>.btn-warning_opacity_4.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.4);border-color:rgba(198,149,0,.4)}.btn-check:active+.btn-warning_opacity_4:focus,.btn-check:checked+.btn-warning_opacity_4:focus,.btn-warning_opacity_4.active:focus,.btn-warning_opacity_4:active:focus,.show>.btn-warning_opacity_4.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(163,128,21,.5)}.btn-warning_opacity_4.disabled,.btn-warning_opacity_4:disabled{color:#212529;background-color:rgba(255,193,7,.4);border-color:rgba(255,193,7,.4)}.btn-warning_opacity_5{color:#212529;background-color:rgba(255,193,7,.5);border-color:rgba(255,193,7,.5)}.btn-check:focus+.btn-warning_opacity_5,.btn-warning_opacity_5:focus,.btn-warning_opacity_5:hover{color:#212529;background-color:rgba(224,168,0,.5);border-color:rgba(211,158,0,.5)}.btn-check:focus+.btn-warning_opacity_5,.btn-warning_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(178,139,19,.5)}.btn-check:active+.btn-warning_opacity_5,.btn-check:checked+.btn-warning_opacity_5,.btn-warning_opacity_5.active,.btn-warning_opacity_5:active,.show>.btn-warning_opacity_5.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.5);border-color:rgba(198,149,0,.5)}.btn-check:active+.btn-warning_opacity_5:focus,.btn-check:checked+.btn-warning_opacity_5:focus,.btn-warning_opacity_5.active:focus,.btn-warning_opacity_5:active:focus,.show>.btn-warning_opacity_5.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(178,139,19,.5)}.btn-warning_opacity_5.disabled,.btn-warning_opacity_5:disabled{color:#212529;background-color:rgba(255,193,7,.5);border-color:rgba(255,193,7,.5)}.btn-warning_opacity_6{color:#212529;background-color:rgba(255,193,7,.6);border-color:rgba(255,193,7,.6)}.btn-check:focus+.btn-warning_opacity_6,.btn-warning_opacity_6:focus,.btn-warning_opacity_6:hover{color:#212529;background-color:rgba(224,168,0,.6);border-color:rgba(211,158,0,.6)}.btn-check:focus+.btn-warning_opacity_6,.btn-warning_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(190,148,17,.5)}.btn-check:active+.btn-warning_opacity_6,.btn-check:checked+.btn-warning_opacity_6,.btn-warning_opacity_6.active,.btn-warning_opacity_6:active,.show>.btn-warning_opacity_6.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.6);border-color:rgba(198,149,0,.6)}.btn-check:active+.btn-warning_opacity_6:focus,.btn-check:checked+.btn-warning_opacity_6:focus,.btn-warning_opacity_6.active:focus,.btn-warning_opacity_6:active:focus,.show>.btn-warning_opacity_6.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(190,148,17,.5)}.btn-warning_opacity_6.disabled,.btn-warning_opacity_6:disabled{color:#212529;background-color:rgba(255,193,7,.6);border-color:rgba(255,193,7,.6)}.btn-warning_opacity_7{color:#212529;background-color:rgba(255,193,7,.7);border-color:rgba(255,193,7,.7)}.btn-check:focus+.btn-warning_opacity_7,.btn-warning_opacity_7:focus,.btn-warning_opacity_7:hover{color:#212529;background-color:rgba(224,168,0,.7);border-color:rgba(211,158,0,.7)}.btn-check:focus+.btn-warning_opacity_7,.btn-warning_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(200,154,15,.5)}.btn-check:active+.btn-warning_opacity_7,.btn-check:checked+.btn-warning_opacity_7,.btn-warning_opacity_7.active,.btn-warning_opacity_7:active,.show>.btn-warning_opacity_7.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.7);border-color:rgba(198,149,0,.7)}.btn-check:active+.btn-warning_opacity_7:focus,.btn-check:checked+.btn-warning_opacity_7:focus,.btn-warning_opacity_7.active:focus,.btn-warning_opacity_7:active:focus,.show>.btn-warning_opacity_7.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(200,154,15,.5)}.btn-warning_opacity_7.disabled,.btn-warning_opacity_7:disabled{color:#212529;background-color:rgba(255,193,7,.7);border-color:rgba(255,193,7,.7)}.btn-warning_opacity_8{color:#212529;background-color:rgba(255,193,7,.8);border-color:rgba(255,193,7,.8)}.btn-check:focus+.btn-warning_opacity_8,.btn-warning_opacity_8:focus,.btn-warning_opacity_8:hover{color:#212529;background-color:rgba(224,168,0,.8);border-color:rgba(211,158,0,.8)}.btn-check:focus+.btn-warning_opacity_8,.btn-warning_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(209,160,14,.5)}.btn-check:active+.btn-warning_opacity_8,.btn-check:checked+.btn-warning_opacity_8,.btn-warning_opacity_8.active,.btn-warning_opacity_8:active,.show>.btn-warning_opacity_8.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.8);border-color:rgba(198,149,0,.8)}.btn-check:active+.btn-warning_opacity_8:focus,.btn-check:checked+.btn-warning_opacity_8:focus,.btn-warning_opacity_8.active:focus,.btn-warning_opacity_8:active:focus,.show>.btn-warning_opacity_8.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(209,160,14,.5)}.btn-warning_opacity_8.disabled,.btn-warning_opacity_8:disabled{color:#212529;background-color:rgba(255,193,7,.8);border-color:rgba(255,193,7,.8)}.btn-warning_opacity_9{color:#212529;background-color:rgba(255,193,7,.9);border-color:rgba(255,193,7,.9)}.btn-check:focus+.btn-warning_opacity_9,.btn-warning_opacity_9:focus,.btn-warning_opacity_9:hover{color:#212529;background-color:rgba(224,168,0,.9);border-color:rgba(211,158,0,.9)}.btn-check:focus+.btn-warning_opacity_9,.btn-warning_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(216,165,13,.5)}.btn-check:active+.btn-warning_opacity_9,.btn-check:checked+.btn-warning_opacity_9,.btn-warning_opacity_9.active,.btn-warning_opacity_9:active,.show>.btn-warning_opacity_9.dropdown-toggle{color:#212529;background-color:rgba(211,158,0,.9);border-color:rgba(198,149,0,.9)}.btn-check:active+.btn-warning_opacity_9:focus,.btn-check:checked+.btn-warning_opacity_9:focus,.btn-warning_opacity_9.active:focus,.btn-warning_opacity_9:active:focus,.show>.btn-warning_opacity_9.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,165,13,.5)}.btn-warning_opacity_9.disabled,.btn-warning_opacity_9:disabled{color:#212529;background-color:rgba(255,193,7,.9);border-color:rgba(255,193,7,.9)}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#28a745;border-color:#28a745}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#343a40;border-color:#343a40}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-success_opacity_1{color:rgba(40,167,69,.1);border-color:rgba(40,167,69,.1)}.btn-outline-success_opacity_1:hover{color:#fff;background-color:rgba(40,167,69,.1);border-color:rgba(40,167,69,.1)}.btn-check:focus+.btn-outline-success_opacity_1,.btn-outline-success_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_1,.btn-check:checked+.btn-outline-success_opacity_1,.btn-outline-success_opacity_1.active,.btn-outline-success_opacity_1.dropdown-toggle.show,.btn-outline-success_opacity_1:active{color:#fff;background-color:rgba(40,167,69,.1);border-color:rgba(40,167,69,.1)}.btn-check:active+.btn-outline-success_opacity_1:focus,.btn-check:checked+.btn-outline-success_opacity_1:focus,.btn-outline-success_opacity_1.active:focus,.btn-outline-success_opacity_1.dropdown-toggle.show:focus,.btn-outline-success_opacity_1:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_1.disabled,.btn-outline-success_opacity_1:disabled{color:rgba(40,167,69,.1);background-color:transparent}.btn-outline-success_opacity_2{color:rgba(40,167,69,.2);border-color:rgba(40,167,69,.2)}.btn-outline-success_opacity_2:hover{color:#fff;background-color:rgba(40,167,69,.2);border-color:rgba(40,167,69,.2)}.btn-check:focus+.btn-outline-success_opacity_2,.btn-outline-success_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_2,.btn-check:checked+.btn-outline-success_opacity_2,.btn-outline-success_opacity_2.active,.btn-outline-success_opacity_2.dropdown-toggle.show,.btn-outline-success_opacity_2:active{color:#fff;background-color:rgba(40,167,69,.2);border-color:rgba(40,167,69,.2)}.btn-check:active+.btn-outline-success_opacity_2:focus,.btn-check:checked+.btn-outline-success_opacity_2:focus,.btn-outline-success_opacity_2.active:focus,.btn-outline-success_opacity_2.dropdown-toggle.show:focus,.btn-outline-success_opacity_2:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_2.disabled,.btn-outline-success_opacity_2:disabled{color:rgba(40,167,69,.2);background-color:transparent}.btn-outline-success_opacity_3{color:rgba(40,167,69,.3);border-color:rgba(40,167,69,.3)}.btn-outline-success_opacity_3:hover{color:#fff;background-color:rgba(40,167,69,.3);border-color:rgba(40,167,69,.3)}.btn-check:focus+.btn-outline-success_opacity_3,.btn-outline-success_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_3,.btn-check:checked+.btn-outline-success_opacity_3,.btn-outline-success_opacity_3.active,.btn-outline-success_opacity_3.dropdown-toggle.show,.btn-outline-success_opacity_3:active{color:#fff;background-color:rgba(40,167,69,.3);border-color:rgba(40,167,69,.3)}.btn-check:active+.btn-outline-success_opacity_3:focus,.btn-check:checked+.btn-outline-success_opacity_3:focus,.btn-outline-success_opacity_3.active:focus,.btn-outline-success_opacity_3.dropdown-toggle.show:focus,.btn-outline-success_opacity_3:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_3.disabled,.btn-outline-success_opacity_3:disabled{color:rgba(40,167,69,.3);background-color:transparent}.btn-outline-success_opacity_4{color:rgba(40,167,69,.4);border-color:rgba(40,167,69,.4)}.btn-outline-success_opacity_4:hover{color:#fff;background-color:rgba(40,167,69,.4);border-color:rgba(40,167,69,.4)}.btn-check:focus+.btn-outline-success_opacity_4,.btn-outline-success_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_4,.btn-check:checked+.btn-outline-success_opacity_4,.btn-outline-success_opacity_4.active,.btn-outline-success_opacity_4.dropdown-toggle.show,.btn-outline-success_opacity_4:active{color:#fff;background-color:rgba(40,167,69,.4);border-color:rgba(40,167,69,.4)}.btn-check:active+.btn-outline-success_opacity_4:focus,.btn-check:checked+.btn-outline-success_opacity_4:focus,.btn-outline-success_opacity_4.active:focus,.btn-outline-success_opacity_4.dropdown-toggle.show:focus,.btn-outline-success_opacity_4:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_4.disabled,.btn-outline-success_opacity_4:disabled{color:rgba(40,167,69,.4);background-color:transparent}.btn-outline-success_opacity_5{color:rgba(40,167,69,.5);border-color:rgba(40,167,69,.5)}.btn-outline-success_opacity_5:hover{color:#fff;background-color:rgba(40,167,69,.5);border-color:rgba(40,167,69,.5)}.btn-check:focus+.btn-outline-success_opacity_5,.btn-outline-success_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_5,.btn-check:checked+.btn-outline-success_opacity_5,.btn-outline-success_opacity_5.active,.btn-outline-success_opacity_5.dropdown-toggle.show,.btn-outline-success_opacity_5:active{color:#fff;background-color:rgba(40,167,69,.5);border-color:rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_5:focus,.btn-check:checked+.btn-outline-success_opacity_5:focus,.btn-outline-success_opacity_5.active:focus,.btn-outline-success_opacity_5.dropdown-toggle.show:focus,.btn-outline-success_opacity_5:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_5.disabled,.btn-outline-success_opacity_5:disabled{color:rgba(40,167,69,.5);background-color:transparent}.btn-outline-success_opacity_6{color:rgba(40,167,69,.6);border-color:rgba(40,167,69,.6)}.btn-outline-success_opacity_6:hover{color:#fff;background-color:rgba(40,167,69,.6);border-color:rgba(40,167,69,.6)}.btn-check:focus+.btn-outline-success_opacity_6,.btn-outline-success_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_6,.btn-check:checked+.btn-outline-success_opacity_6,.btn-outline-success_opacity_6.active,.btn-outline-success_opacity_6.dropdown-toggle.show,.btn-outline-success_opacity_6:active{color:#fff;background-color:rgba(40,167,69,.6);border-color:rgba(40,167,69,.6)}.btn-check:active+.btn-outline-success_opacity_6:focus,.btn-check:checked+.btn-outline-success_opacity_6:focus,.btn-outline-success_opacity_6.active:focus,.btn-outline-success_opacity_6.dropdown-toggle.show:focus,.btn-outline-success_opacity_6:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_6.disabled,.btn-outline-success_opacity_6:disabled{color:rgba(40,167,69,.6);background-color:transparent}.btn-outline-success_opacity_7{color:rgba(40,167,69,.7);border-color:rgba(40,167,69,.7)}.btn-outline-success_opacity_7:hover{color:#fff;background-color:rgba(40,167,69,.7);border-color:rgba(40,167,69,.7)}.btn-check:focus+.btn-outline-success_opacity_7,.btn-outline-success_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_7,.btn-check:checked+.btn-outline-success_opacity_7,.btn-outline-success_opacity_7.active,.btn-outline-success_opacity_7.dropdown-toggle.show,.btn-outline-success_opacity_7:active{color:#fff;background-color:rgba(40,167,69,.7);border-color:rgba(40,167,69,.7)}.btn-check:active+.btn-outline-success_opacity_7:focus,.btn-check:checked+.btn-outline-success_opacity_7:focus,.btn-outline-success_opacity_7.active:focus,.btn-outline-success_opacity_7.dropdown-toggle.show:focus,.btn-outline-success_opacity_7:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_7.disabled,.btn-outline-success_opacity_7:disabled{color:rgba(40,167,69,.7);background-color:transparent}.btn-outline-success_opacity_8{color:rgba(40,167,69,.8);border-color:rgba(40,167,69,.8)}.btn-outline-success_opacity_8:hover{color:#fff;background-color:rgba(40,167,69,.8);border-color:rgba(40,167,69,.8)}.btn-check:focus+.btn-outline-success_opacity_8,.btn-outline-success_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_8,.btn-check:checked+.btn-outline-success_opacity_8,.btn-outline-success_opacity_8.active,.btn-outline-success_opacity_8.dropdown-toggle.show,.btn-outline-success_opacity_8:active{color:#fff;background-color:rgba(40,167,69,.8);border-color:rgba(40,167,69,.8)}.btn-check:active+.btn-outline-success_opacity_8:focus,.btn-check:checked+.btn-outline-success_opacity_8:focus,.btn-outline-success_opacity_8.active:focus,.btn-outline-success_opacity_8.dropdown-toggle.show:focus,.btn-outline-success_opacity_8:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_8.disabled,.btn-outline-success_opacity_8:disabled{color:rgba(40,167,69,.8);background-color:transparent}.btn-outline-success_opacity_9{color:rgba(40,167,69,.9);border-color:rgba(40,167,69,.9)}.btn-outline-success_opacity_9:hover{color:#fff;background-color:rgba(40,167,69,.9);border-color:rgba(40,167,69,.9)}.btn-check:focus+.btn-outline-success_opacity_9,.btn-outline-success_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success_opacity_9,.btn-check:checked+.btn-outline-success_opacity_9,.btn-outline-success_opacity_9.active,.btn-outline-success_opacity_9.dropdown-toggle.show,.btn-outline-success_opacity_9:active{color:#fff;background-color:rgba(40,167,69,.9);border-color:rgba(40,167,69,.9)}.btn-check:active+.btn-outline-success_opacity_9:focus,.btn-check:checked+.btn-outline-success_opacity_9:focus,.btn-outline-success_opacity_9.active:focus,.btn-outline-success_opacity_9.dropdown-toggle.show:focus,.btn-outline-success_opacity_9:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success_opacity_9.disabled,.btn-outline-success_opacity_9:disabled{color:rgba(40,167,69,.9);background-color:transparent}.btn-outline-primary_opacity_1{color:rgba(13,110,253,.1);border-color:rgba(13,110,253,.1)}.btn-outline-primary_opacity_1:hover{color:#fff;background-color:rgba(13,110,253,.1);border-color:rgba(13,110,253,.1)}.btn-check:focus+.btn-outline-primary_opacity_1,.btn-outline-primary_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_1,.btn-check:checked+.btn-outline-primary_opacity_1,.btn-outline-primary_opacity_1.active,.btn-outline-primary_opacity_1.dropdown-toggle.show,.btn-outline-primary_opacity_1:active{color:#fff;background-color:rgba(13,110,253,.1);border-color:rgba(13,110,253,.1)}.btn-check:active+.btn-outline-primary_opacity_1:focus,.btn-check:checked+.btn-outline-primary_opacity_1:focus,.btn-outline-primary_opacity_1.active:focus,.btn-outline-primary_opacity_1.dropdown-toggle.show:focus,.btn-outline-primary_opacity_1:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_1.disabled,.btn-outline-primary_opacity_1:disabled{color:rgba(13,110,253,.1);background-color:transparent}.btn-outline-primary_opacity_2{color:rgba(13,110,253,.2);border-color:rgba(13,110,253,.2)}.btn-outline-primary_opacity_2:hover{color:#fff;background-color:rgba(13,110,253,.2);border-color:rgba(13,110,253,.2)}.btn-check:focus+.btn-outline-primary_opacity_2,.btn-outline-primary_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_2,.btn-check:checked+.btn-outline-primary_opacity_2,.btn-outline-primary_opacity_2.active,.btn-outline-primary_opacity_2.dropdown-toggle.show,.btn-outline-primary_opacity_2:active{color:#fff;background-color:rgba(13,110,253,.2);border-color:rgba(13,110,253,.2)}.btn-check:active+.btn-outline-primary_opacity_2:focus,.btn-check:checked+.btn-outline-primary_opacity_2:focus,.btn-outline-primary_opacity_2.active:focus,.btn-outline-primary_opacity_2.dropdown-toggle.show:focus,.btn-outline-primary_opacity_2:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_2.disabled,.btn-outline-primary_opacity_2:disabled{color:rgba(13,110,253,.2);background-color:transparent}.btn-outline-primary_opacity_3{color:rgba(13,110,253,.3);border-color:rgba(13,110,253,.3)}.btn-outline-primary_opacity_3:hover{color:#fff;background-color:rgba(13,110,253,.3);border-color:rgba(13,110,253,.3)}.btn-check:focus+.btn-outline-primary_opacity_3,.btn-outline-primary_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_3,.btn-check:checked+.btn-outline-primary_opacity_3,.btn-outline-primary_opacity_3.active,.btn-outline-primary_opacity_3.dropdown-toggle.show,.btn-outline-primary_opacity_3:active{color:#fff;background-color:rgba(13,110,253,.3);border-color:rgba(13,110,253,.3)}.btn-check:active+.btn-outline-primary_opacity_3:focus,.btn-check:checked+.btn-outline-primary_opacity_3:focus,.btn-outline-primary_opacity_3.active:focus,.btn-outline-primary_opacity_3.dropdown-toggle.show:focus,.btn-outline-primary_opacity_3:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_3.disabled,.btn-outline-primary_opacity_3:disabled{color:rgba(13,110,253,.3);background-color:transparent}.btn-outline-primary_opacity_4{color:rgba(13,110,253,.4);border-color:rgba(13,110,253,.4)}.btn-outline-primary_opacity_4:hover{color:#fff;background-color:rgba(13,110,253,.4);border-color:rgba(13,110,253,.4)}.btn-check:focus+.btn-outline-primary_opacity_4,.btn-outline-primary_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_4,.btn-check:checked+.btn-outline-primary_opacity_4,.btn-outline-primary_opacity_4.active,.btn-outline-primary_opacity_4.dropdown-toggle.show,.btn-outline-primary_opacity_4:active{color:#fff;background-color:rgba(13,110,253,.4);border-color:rgba(13,110,253,.4)}.btn-check:active+.btn-outline-primary_opacity_4:focus,.btn-check:checked+.btn-outline-primary_opacity_4:focus,.btn-outline-primary_opacity_4.active:focus,.btn-outline-primary_opacity_4.dropdown-toggle.show:focus,.btn-outline-primary_opacity_4:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_4.disabled,.btn-outline-primary_opacity_4:disabled{color:rgba(13,110,253,.4);background-color:transparent}.btn-outline-primary_opacity_5{color:rgba(13,110,253,.5);border-color:rgba(13,110,253,.5)}.btn-outline-primary_opacity_5:hover{color:#fff;background-color:rgba(13,110,253,.5);border-color:rgba(13,110,253,.5)}.btn-check:focus+.btn-outline-primary_opacity_5,.btn-outline-primary_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_5,.btn-check:checked+.btn-outline-primary_opacity_5,.btn-outline-primary_opacity_5.active,.btn-outline-primary_opacity_5.dropdown-toggle.show,.btn-outline-primary_opacity_5:active{color:#fff;background-color:rgba(13,110,253,.5);border-color:rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_5:focus,.btn-check:checked+.btn-outline-primary_opacity_5:focus,.btn-outline-primary_opacity_5.active:focus,.btn-outline-primary_opacity_5.dropdown-toggle.show:focus,.btn-outline-primary_opacity_5:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_5.disabled,.btn-outline-primary_opacity_5:disabled{color:rgba(13,110,253,.5);background-color:transparent}.btn-outline-primary_opacity_6{color:rgba(13,110,253,.6);border-color:rgba(13,110,253,.6)}.btn-outline-primary_opacity_6:hover{color:#fff;background-color:rgba(13,110,253,.6);border-color:rgba(13,110,253,.6)}.btn-check:focus+.btn-outline-primary_opacity_6,.btn-outline-primary_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_6,.btn-check:checked+.btn-outline-primary_opacity_6,.btn-outline-primary_opacity_6.active,.btn-outline-primary_opacity_6.dropdown-toggle.show,.btn-outline-primary_opacity_6:active{color:#fff;background-color:rgba(13,110,253,.6);border-color:rgba(13,110,253,.6)}.btn-check:active+.btn-outline-primary_opacity_6:focus,.btn-check:checked+.btn-outline-primary_opacity_6:focus,.btn-outline-primary_opacity_6.active:focus,.btn-outline-primary_opacity_6.dropdown-toggle.show:focus,.btn-outline-primary_opacity_6:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_6.disabled,.btn-outline-primary_opacity_6:disabled{color:rgba(13,110,253,.6);background-color:transparent}.btn-outline-primary_opacity_7{color:rgba(13,110,253,.7);border-color:rgba(13,110,253,.7)}.btn-outline-primary_opacity_7:hover{color:#fff;background-color:rgba(13,110,253,.7);border-color:rgba(13,110,253,.7)}.btn-check:focus+.btn-outline-primary_opacity_7,.btn-outline-primary_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_7,.btn-check:checked+.btn-outline-primary_opacity_7,.btn-outline-primary_opacity_7.active,.btn-outline-primary_opacity_7.dropdown-toggle.show,.btn-outline-primary_opacity_7:active{color:#fff;background-color:rgba(13,110,253,.7);border-color:rgba(13,110,253,.7)}.btn-check:active+.btn-outline-primary_opacity_7:focus,.btn-check:checked+.btn-outline-primary_opacity_7:focus,.btn-outline-primary_opacity_7.active:focus,.btn-outline-primary_opacity_7.dropdown-toggle.show:focus,.btn-outline-primary_opacity_7:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_7.disabled,.btn-outline-primary_opacity_7:disabled{color:rgba(13,110,253,.7);background-color:transparent}.btn-outline-primary_opacity_8{color:rgba(13,110,253,.8);border-color:rgba(13,110,253,.8)}.btn-outline-primary_opacity_8:hover{color:#fff;background-color:rgba(13,110,253,.8);border-color:rgba(13,110,253,.8)}.btn-check:focus+.btn-outline-primary_opacity_8,.btn-outline-primary_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_8,.btn-check:checked+.btn-outline-primary_opacity_8,.btn-outline-primary_opacity_8.active,.btn-outline-primary_opacity_8.dropdown-toggle.show,.btn-outline-primary_opacity_8:active{color:#fff;background-color:rgba(13,110,253,.8);border-color:rgba(13,110,253,.8)}.btn-check:active+.btn-outline-primary_opacity_8:focus,.btn-check:checked+.btn-outline-primary_opacity_8:focus,.btn-outline-primary_opacity_8.active:focus,.btn-outline-primary_opacity_8.dropdown-toggle.show:focus,.btn-outline-primary_opacity_8:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_8.disabled,.btn-outline-primary_opacity_8:disabled{color:rgba(13,110,253,.8);background-color:transparent}.btn-outline-primary_opacity_9{color:rgba(13,110,253,.9);border-color:rgba(13,110,253,.9)}.btn-outline-primary_opacity_9:hover{color:#fff;background-color:rgba(13,110,253,.9);border-color:rgba(13,110,253,.9)}.btn-check:focus+.btn-outline-primary_opacity_9,.btn-outline-primary_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary_opacity_9,.btn-check:checked+.btn-outline-primary_opacity_9,.btn-outline-primary_opacity_9.active,.btn-outline-primary_opacity_9.dropdown-toggle.show,.btn-outline-primary_opacity_9:active{color:#fff;background-color:rgba(13,110,253,.9);border-color:rgba(13,110,253,.9)}.btn-check:active+.btn-outline-primary_opacity_9:focus,.btn-check:checked+.btn-outline-primary_opacity_9:focus,.btn-outline-primary_opacity_9.active:focus,.btn-outline-primary_opacity_9.dropdown-toggle.show:focus,.btn-outline-primary_opacity_9:active:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary_opacity_9.disabled,.btn-outline-primary_opacity_9:disabled{color:rgba(13,110,253,.9);background-color:transparent}.btn-outline-danger_opacity_1{color:rgba(220,53,69,.1);border-color:rgba(220,53,69,.1)}.btn-outline-danger_opacity_1:hover{color:#fff;background-color:rgba(220,53,69,.1);border-color:rgba(220,53,69,.1)}.btn-check:focus+.btn-outline-danger_opacity_1,.btn-outline-danger_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_1,.btn-check:checked+.btn-outline-danger_opacity_1,.btn-outline-danger_opacity_1.active,.btn-outline-danger_opacity_1.dropdown-toggle.show,.btn-outline-danger_opacity_1:active{color:#fff;background-color:rgba(220,53,69,.1);border-color:rgba(220,53,69,.1)}.btn-check:active+.btn-outline-danger_opacity_1:focus,.btn-check:checked+.btn-outline-danger_opacity_1:focus,.btn-outline-danger_opacity_1.active:focus,.btn-outline-danger_opacity_1.dropdown-toggle.show:focus,.btn-outline-danger_opacity_1:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_1.disabled,.btn-outline-danger_opacity_1:disabled{color:rgba(220,53,69,.1);background-color:transparent}.btn-outline-danger_opacity_2{color:rgba(220,53,69,.2);border-color:rgba(220,53,69,.2)}.btn-outline-danger_opacity_2:hover{color:#fff;background-color:rgba(220,53,69,.2);border-color:rgba(220,53,69,.2)}.btn-check:focus+.btn-outline-danger_opacity_2,.btn-outline-danger_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_2,.btn-check:checked+.btn-outline-danger_opacity_2,.btn-outline-danger_opacity_2.active,.btn-outline-danger_opacity_2.dropdown-toggle.show,.btn-outline-danger_opacity_2:active{color:#fff;background-color:rgba(220,53,69,.2);border-color:rgba(220,53,69,.2)}.btn-check:active+.btn-outline-danger_opacity_2:focus,.btn-check:checked+.btn-outline-danger_opacity_2:focus,.btn-outline-danger_opacity_2.active:focus,.btn-outline-danger_opacity_2.dropdown-toggle.show:focus,.btn-outline-danger_opacity_2:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_2.disabled,.btn-outline-danger_opacity_2:disabled{color:rgba(220,53,69,.2);background-color:transparent}.btn-outline-danger_opacity_3{color:rgba(220,53,69,.3);border-color:rgba(220,53,69,.3)}.btn-outline-danger_opacity_3:hover{color:#fff;background-color:rgba(220,53,69,.3);border-color:rgba(220,53,69,.3)}.btn-check:focus+.btn-outline-danger_opacity_3,.btn-outline-danger_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_3,.btn-check:checked+.btn-outline-danger_opacity_3,.btn-outline-danger_opacity_3.active,.btn-outline-danger_opacity_3.dropdown-toggle.show,.btn-outline-danger_opacity_3:active{color:#fff;background-color:rgba(220,53,69,.3);border-color:rgba(220,53,69,.3)}.btn-check:active+.btn-outline-danger_opacity_3:focus,.btn-check:checked+.btn-outline-danger_opacity_3:focus,.btn-outline-danger_opacity_3.active:focus,.btn-outline-danger_opacity_3.dropdown-toggle.show:focus,.btn-outline-danger_opacity_3:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_3.disabled,.btn-outline-danger_opacity_3:disabled{color:rgba(220,53,69,.3);background-color:transparent}.btn-outline-danger_opacity_4{color:rgba(220,53,69,.4);border-color:rgba(220,53,69,.4)}.btn-outline-danger_opacity_4:hover{color:#fff;background-color:rgba(220,53,69,.4);border-color:rgba(220,53,69,.4)}.btn-check:focus+.btn-outline-danger_opacity_4,.btn-outline-danger_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_4,.btn-check:checked+.btn-outline-danger_opacity_4,.btn-outline-danger_opacity_4.active,.btn-outline-danger_opacity_4.dropdown-toggle.show,.btn-outline-danger_opacity_4:active{color:#fff;background-color:rgba(220,53,69,.4);border-color:rgba(220,53,69,.4)}.btn-check:active+.btn-outline-danger_opacity_4:focus,.btn-check:checked+.btn-outline-danger_opacity_4:focus,.btn-outline-danger_opacity_4.active:focus,.btn-outline-danger_opacity_4.dropdown-toggle.show:focus,.btn-outline-danger_opacity_4:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_4.disabled,.btn-outline-danger_opacity_4:disabled{color:rgba(220,53,69,.4);background-color:transparent}.btn-outline-danger_opacity_5{color:rgba(220,53,69,.5);border-color:rgba(220,53,69,.5)}.btn-outline-danger_opacity_5:hover{color:#fff;background-color:rgba(220,53,69,.5);border-color:rgba(220,53,69,.5)}.btn-check:focus+.btn-outline-danger_opacity_5,.btn-outline-danger_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_5,.btn-check:checked+.btn-outline-danger_opacity_5,.btn-outline-danger_opacity_5.active,.btn-outline-danger_opacity_5.dropdown-toggle.show,.btn-outline-danger_opacity_5:active{color:#fff;background-color:rgba(220,53,69,.5);border-color:rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_5:focus,.btn-check:checked+.btn-outline-danger_opacity_5:focus,.btn-outline-danger_opacity_5.active:focus,.btn-outline-danger_opacity_5.dropdown-toggle.show:focus,.btn-outline-danger_opacity_5:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_5.disabled,.btn-outline-danger_opacity_5:disabled{color:rgba(220,53,69,.5);background-color:transparent}.btn-outline-danger_opacity_6{color:rgba(220,53,69,.6);border-color:rgba(220,53,69,.6)}.btn-outline-danger_opacity_6:hover{color:#fff;background-color:rgba(220,53,69,.6);border-color:rgba(220,53,69,.6)}.btn-check:focus+.btn-outline-danger_opacity_6,.btn-outline-danger_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_6,.btn-check:checked+.btn-outline-danger_opacity_6,.btn-outline-danger_opacity_6.active,.btn-outline-danger_opacity_6.dropdown-toggle.show,.btn-outline-danger_opacity_6:active{color:#fff;background-color:rgba(220,53,69,.6);border-color:rgba(220,53,69,.6)}.btn-check:active+.btn-outline-danger_opacity_6:focus,.btn-check:checked+.btn-outline-danger_opacity_6:focus,.btn-outline-danger_opacity_6.active:focus,.btn-outline-danger_opacity_6.dropdown-toggle.show:focus,.btn-outline-danger_opacity_6:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_6.disabled,.btn-outline-danger_opacity_6:disabled{color:rgba(220,53,69,.6);background-color:transparent}.btn-outline-danger_opacity_7{color:rgba(220,53,69,.7);border-color:rgba(220,53,69,.7)}.btn-outline-danger_opacity_7:hover{color:#fff;background-color:rgba(220,53,69,.7);border-color:rgba(220,53,69,.7)}.btn-check:focus+.btn-outline-danger_opacity_7,.btn-outline-danger_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_7,.btn-check:checked+.btn-outline-danger_opacity_7,.btn-outline-danger_opacity_7.active,.btn-outline-danger_opacity_7.dropdown-toggle.show,.btn-outline-danger_opacity_7:active{color:#fff;background-color:rgba(220,53,69,.7);border-color:rgba(220,53,69,.7)}.btn-check:active+.btn-outline-danger_opacity_7:focus,.btn-check:checked+.btn-outline-danger_opacity_7:focus,.btn-outline-danger_opacity_7.active:focus,.btn-outline-danger_opacity_7.dropdown-toggle.show:focus,.btn-outline-danger_opacity_7:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_7.disabled,.btn-outline-danger_opacity_7:disabled{color:rgba(220,53,69,.7);background-color:transparent}.btn-outline-danger_opacity_8{color:rgba(220,53,69,.8);border-color:rgba(220,53,69,.8)}.btn-outline-danger_opacity_8:hover{color:#fff;background-color:rgba(220,53,69,.8);border-color:rgba(220,53,69,.8)}.btn-check:focus+.btn-outline-danger_opacity_8,.btn-outline-danger_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_8,.btn-check:checked+.btn-outline-danger_opacity_8,.btn-outline-danger_opacity_8.active,.btn-outline-danger_opacity_8.dropdown-toggle.show,.btn-outline-danger_opacity_8:active{color:#fff;background-color:rgba(220,53,69,.8);border-color:rgba(220,53,69,.8)}.btn-check:active+.btn-outline-danger_opacity_8:focus,.btn-check:checked+.btn-outline-danger_opacity_8:focus,.btn-outline-danger_opacity_8.active:focus,.btn-outline-danger_opacity_8.dropdown-toggle.show:focus,.btn-outline-danger_opacity_8:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_8.disabled,.btn-outline-danger_opacity_8:disabled{color:rgba(220,53,69,.8);background-color:transparent}.btn-outline-danger_opacity_9{color:rgba(220,53,69,.9);border-color:rgba(220,53,69,.9)}.btn-outline-danger_opacity_9:hover{color:#fff;background-color:rgba(220,53,69,.9);border-color:rgba(220,53,69,.9)}.btn-check:focus+.btn-outline-danger_opacity_9,.btn-outline-danger_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger_opacity_9,.btn-check:checked+.btn-outline-danger_opacity_9,.btn-outline-danger_opacity_9.active,.btn-outline-danger_opacity_9.dropdown-toggle.show,.btn-outline-danger_opacity_9:active{color:#fff;background-color:rgba(220,53,69,.9);border-color:rgba(220,53,69,.9)}.btn-check:active+.btn-outline-danger_opacity_9:focus,.btn-check:checked+.btn-outline-danger_opacity_9:focus,.btn-outline-danger_opacity_9.active:focus,.btn-outline-danger_opacity_9.dropdown-toggle.show:focus,.btn-outline-danger_opacity_9:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger_opacity_9.disabled,.btn-outline-danger_opacity_9:disabled{color:rgba(220,53,69,.9);background-color:transparent}.btn-outline-info_opacity_1{color:rgba(23,162,184,.1);border-color:rgba(23,162,184,.1)}.btn-outline-info_opacity_1:hover{color:#fff;background-color:rgba(23,162,184,.1);border-color:rgba(23,162,184,.1)}.btn-check:focus+.btn-outline-info_opacity_1,.btn-outline-info_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_1,.btn-check:checked+.btn-outline-info_opacity_1,.btn-outline-info_opacity_1.active,.btn-outline-info_opacity_1.dropdown-toggle.show,.btn-outline-info_opacity_1:active{color:#fff;background-color:rgba(23,162,184,.1);border-color:rgba(23,162,184,.1)}.btn-check:active+.btn-outline-info_opacity_1:focus,.btn-check:checked+.btn-outline-info_opacity_1:focus,.btn-outline-info_opacity_1.active:focus,.btn-outline-info_opacity_1.dropdown-toggle.show:focus,.btn-outline-info_opacity_1:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_1.disabled,.btn-outline-info_opacity_1:disabled{color:rgba(23,162,184,.1);background-color:transparent}.btn-outline-info_opacity_2{color:rgba(23,162,184,.2);border-color:rgba(23,162,184,.2)}.btn-outline-info_opacity_2:hover{color:#fff;background-color:rgba(23,162,184,.2);border-color:rgba(23,162,184,.2)}.btn-check:focus+.btn-outline-info_opacity_2,.btn-outline-info_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_2,.btn-check:checked+.btn-outline-info_opacity_2,.btn-outline-info_opacity_2.active,.btn-outline-info_opacity_2.dropdown-toggle.show,.btn-outline-info_opacity_2:active{color:#fff;background-color:rgba(23,162,184,.2);border-color:rgba(23,162,184,.2)}.btn-check:active+.btn-outline-info_opacity_2:focus,.btn-check:checked+.btn-outline-info_opacity_2:focus,.btn-outline-info_opacity_2.active:focus,.btn-outline-info_opacity_2.dropdown-toggle.show:focus,.btn-outline-info_opacity_2:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_2.disabled,.btn-outline-info_opacity_2:disabled{color:rgba(23,162,184,.2);background-color:transparent}.btn-outline-info_opacity_3{color:rgba(23,162,184,.3);border-color:rgba(23,162,184,.3)}.btn-outline-info_opacity_3:hover{color:#fff;background-color:rgba(23,162,184,.3);border-color:rgba(23,162,184,.3)}.btn-check:focus+.btn-outline-info_opacity_3,.btn-outline-info_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_3,.btn-check:checked+.btn-outline-info_opacity_3,.btn-outline-info_opacity_3.active,.btn-outline-info_opacity_3.dropdown-toggle.show,.btn-outline-info_opacity_3:active{color:#fff;background-color:rgba(23,162,184,.3);border-color:rgba(23,162,184,.3)}.btn-check:active+.btn-outline-info_opacity_3:focus,.btn-check:checked+.btn-outline-info_opacity_3:focus,.btn-outline-info_opacity_3.active:focus,.btn-outline-info_opacity_3.dropdown-toggle.show:focus,.btn-outline-info_opacity_3:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_3.disabled,.btn-outline-info_opacity_3:disabled{color:rgba(23,162,184,.3);background-color:transparent}.btn-outline-info_opacity_4{color:rgba(23,162,184,.4);border-color:rgba(23,162,184,.4)}.btn-outline-info_opacity_4:hover{color:#fff;background-color:rgba(23,162,184,.4);border-color:rgba(23,162,184,.4)}.btn-check:focus+.btn-outline-info_opacity_4,.btn-outline-info_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_4,.btn-check:checked+.btn-outline-info_opacity_4,.btn-outline-info_opacity_4.active,.btn-outline-info_opacity_4.dropdown-toggle.show,.btn-outline-info_opacity_4:active{color:#fff;background-color:rgba(23,162,184,.4);border-color:rgba(23,162,184,.4)}.btn-check:active+.btn-outline-info_opacity_4:focus,.btn-check:checked+.btn-outline-info_opacity_4:focus,.btn-outline-info_opacity_4.active:focus,.btn-outline-info_opacity_4.dropdown-toggle.show:focus,.btn-outline-info_opacity_4:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_4.disabled,.btn-outline-info_opacity_4:disabled{color:rgba(23,162,184,.4);background-color:transparent}.btn-outline-info_opacity_5{color:rgba(23,162,184,.5);border-color:rgba(23,162,184,.5)}.btn-outline-info_opacity_5:hover{color:#fff;background-color:rgba(23,162,184,.5);border-color:rgba(23,162,184,.5)}.btn-check:focus+.btn-outline-info_opacity_5,.btn-outline-info_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_5,.btn-check:checked+.btn-outline-info_opacity_5,.btn-outline-info_opacity_5.active,.btn-outline-info_opacity_5.dropdown-toggle.show,.btn-outline-info_opacity_5:active{color:#fff;background-color:rgba(23,162,184,.5);border-color:rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_5:focus,.btn-check:checked+.btn-outline-info_opacity_5:focus,.btn-outline-info_opacity_5.active:focus,.btn-outline-info_opacity_5.dropdown-toggle.show:focus,.btn-outline-info_opacity_5:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_5.disabled,.btn-outline-info_opacity_5:disabled{color:rgba(23,162,184,.5);background-color:transparent}.btn-outline-info_opacity_6{color:rgba(23,162,184,.6);border-color:rgba(23,162,184,.6)}.btn-outline-info_opacity_6:hover{color:#fff;background-color:rgba(23,162,184,.6);border-color:rgba(23,162,184,.6)}.btn-check:focus+.btn-outline-info_opacity_6,.btn-outline-info_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_6,.btn-check:checked+.btn-outline-info_opacity_6,.btn-outline-info_opacity_6.active,.btn-outline-info_opacity_6.dropdown-toggle.show,.btn-outline-info_opacity_6:active{color:#fff;background-color:rgba(23,162,184,.6);border-color:rgba(23,162,184,.6)}.btn-check:active+.btn-outline-info_opacity_6:focus,.btn-check:checked+.btn-outline-info_opacity_6:focus,.btn-outline-info_opacity_6.active:focus,.btn-outline-info_opacity_6.dropdown-toggle.show:focus,.btn-outline-info_opacity_6:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_6.disabled,.btn-outline-info_opacity_6:disabled{color:rgba(23,162,184,.6);background-color:transparent}.btn-outline-info_opacity_7{color:rgba(23,162,184,.7);border-color:rgba(23,162,184,.7)}.btn-outline-info_opacity_7:hover{color:#fff;background-color:rgba(23,162,184,.7);border-color:rgba(23,162,184,.7)}.btn-check:focus+.btn-outline-info_opacity_7,.btn-outline-info_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_7,.btn-check:checked+.btn-outline-info_opacity_7,.btn-outline-info_opacity_7.active,.btn-outline-info_opacity_7.dropdown-toggle.show,.btn-outline-info_opacity_7:active{color:#fff;background-color:rgba(23,162,184,.7);border-color:rgba(23,162,184,.7)}.btn-check:active+.btn-outline-info_opacity_7:focus,.btn-check:checked+.btn-outline-info_opacity_7:focus,.btn-outline-info_opacity_7.active:focus,.btn-outline-info_opacity_7.dropdown-toggle.show:focus,.btn-outline-info_opacity_7:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_7.disabled,.btn-outline-info_opacity_7:disabled{color:rgba(23,162,184,.7);background-color:transparent}.btn-outline-info_opacity_8{color:rgba(23,162,184,.8);border-color:rgba(23,162,184,.8)}.btn-outline-info_opacity_8:hover{color:#fff;background-color:rgba(23,162,184,.8);border-color:rgba(23,162,184,.8)}.btn-check:focus+.btn-outline-info_opacity_8,.btn-outline-info_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_8,.btn-check:checked+.btn-outline-info_opacity_8,.btn-outline-info_opacity_8.active,.btn-outline-info_opacity_8.dropdown-toggle.show,.btn-outline-info_opacity_8:active{color:#fff;background-color:rgba(23,162,184,.8);border-color:rgba(23,162,184,.8)}.btn-check:active+.btn-outline-info_opacity_8:focus,.btn-check:checked+.btn-outline-info_opacity_8:focus,.btn-outline-info_opacity_8.active:focus,.btn-outline-info_opacity_8.dropdown-toggle.show:focus,.btn-outline-info_opacity_8:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_8.disabled,.btn-outline-info_opacity_8:disabled{color:rgba(23,162,184,.8);background-color:transparent}.btn-outline-info_opacity_9{color:rgba(23,162,184,.9);border-color:rgba(23,162,184,.9)}.btn-outline-info_opacity_9:hover{color:#fff;background-color:rgba(23,162,184,.9);border-color:rgba(23,162,184,.9)}.btn-check:focus+.btn-outline-info_opacity_9,.btn-outline-info_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info_opacity_9,.btn-check:checked+.btn-outline-info_opacity_9,.btn-outline-info_opacity_9.active,.btn-outline-info_opacity_9.dropdown-toggle.show,.btn-outline-info_opacity_9:active{color:#fff;background-color:rgba(23,162,184,.9);border-color:rgba(23,162,184,.9)}.btn-check:active+.btn-outline-info_opacity_9:focus,.btn-check:checked+.btn-outline-info_opacity_9:focus,.btn-outline-info_opacity_9.active:focus,.btn-outline-info_opacity_9.dropdown-toggle.show:focus,.btn-outline-info_opacity_9:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info_opacity_9.disabled,.btn-outline-info_opacity_9:disabled{color:rgba(23,162,184,.9);background-color:transparent}.btn-outline-warning_opacity_1{color:rgba(255,193,7,.1);border-color:rgba(255,193,7,.1)}.btn-outline-warning_opacity_1:hover{color:#212529;background-color:rgba(255,193,7,.1);border-color:rgba(255,193,7,.1)}.btn-check:focus+.btn-outline-warning_opacity_1,.btn-outline-warning_opacity_1:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_1,.btn-check:checked+.btn-outline-warning_opacity_1,.btn-outline-warning_opacity_1.active,.btn-outline-warning_opacity_1.dropdown-toggle.show,.btn-outline-warning_opacity_1:active{color:#212529;background-color:rgba(255,193,7,.1);border-color:rgba(255,193,7,.1)}.btn-check:active+.btn-outline-warning_opacity_1:focus,.btn-check:checked+.btn-outline-warning_opacity_1:focus,.btn-outline-warning_opacity_1.active:focus,.btn-outline-warning_opacity_1.dropdown-toggle.show:focus,.btn-outline-warning_opacity_1:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_1.disabled,.btn-outline-warning_opacity_1:disabled{color:rgba(255,193,7,.1);background-color:transparent}.btn-outline-warning_opacity_2{color:rgba(255,193,7,.2);border-color:rgba(255,193,7,.2)}.btn-outline-warning_opacity_2:hover{color:#212529;background-color:rgba(255,193,7,.2);border-color:rgba(255,193,7,.2)}.btn-check:focus+.btn-outline-warning_opacity_2,.btn-outline-warning_opacity_2:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_2,.btn-check:checked+.btn-outline-warning_opacity_2,.btn-outline-warning_opacity_2.active,.btn-outline-warning_opacity_2.dropdown-toggle.show,.btn-outline-warning_opacity_2:active{color:#212529;background-color:rgba(255,193,7,.2);border-color:rgba(255,193,7,.2)}.btn-check:active+.btn-outline-warning_opacity_2:focus,.btn-check:checked+.btn-outline-warning_opacity_2:focus,.btn-outline-warning_opacity_2.active:focus,.btn-outline-warning_opacity_2.dropdown-toggle.show:focus,.btn-outline-warning_opacity_2:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_2.disabled,.btn-outline-warning_opacity_2:disabled{color:rgba(255,193,7,.2);background-color:transparent}.btn-outline-warning_opacity_3{color:rgba(255,193,7,.3);border-color:rgba(255,193,7,.3)}.btn-outline-warning_opacity_3:hover{color:#212529;background-color:rgba(255,193,7,.3);border-color:rgba(255,193,7,.3)}.btn-check:focus+.btn-outline-warning_opacity_3,.btn-outline-warning_opacity_3:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_3,.btn-check:checked+.btn-outline-warning_opacity_3,.btn-outline-warning_opacity_3.active,.btn-outline-warning_opacity_3.dropdown-toggle.show,.btn-outline-warning_opacity_3:active{color:#212529;background-color:rgba(255,193,7,.3);border-color:rgba(255,193,7,.3)}.btn-check:active+.btn-outline-warning_opacity_3:focus,.btn-check:checked+.btn-outline-warning_opacity_3:focus,.btn-outline-warning_opacity_3.active:focus,.btn-outline-warning_opacity_3.dropdown-toggle.show:focus,.btn-outline-warning_opacity_3:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_3.disabled,.btn-outline-warning_opacity_3:disabled{color:rgba(255,193,7,.3);background-color:transparent}.btn-outline-warning_opacity_4{color:rgba(255,193,7,.4);border-color:rgba(255,193,7,.4)}.btn-outline-warning_opacity_4:hover{color:#212529;background-color:rgba(255,193,7,.4);border-color:rgba(255,193,7,.4)}.btn-check:focus+.btn-outline-warning_opacity_4,.btn-outline-warning_opacity_4:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_4,.btn-check:checked+.btn-outline-warning_opacity_4,.btn-outline-warning_opacity_4.active,.btn-outline-warning_opacity_4.dropdown-toggle.show,.btn-outline-warning_opacity_4:active{color:#212529;background-color:rgba(255,193,7,.4);border-color:rgba(255,193,7,.4)}.btn-check:active+.btn-outline-warning_opacity_4:focus,.btn-check:checked+.btn-outline-warning_opacity_4:focus,.btn-outline-warning_opacity_4.active:focus,.btn-outline-warning_opacity_4.dropdown-toggle.show:focus,.btn-outline-warning_opacity_4:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_4.disabled,.btn-outline-warning_opacity_4:disabled{color:rgba(255,193,7,.4);background-color:transparent}.btn-outline-warning_opacity_5{color:rgba(255,193,7,.5);border-color:rgba(255,193,7,.5)}.btn-outline-warning_opacity_5:hover{color:#212529;background-color:rgba(255,193,7,.5);border-color:rgba(255,193,7,.5)}.btn-check:focus+.btn-outline-warning_opacity_5,.btn-outline-warning_opacity_5:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_5,.btn-check:checked+.btn-outline-warning_opacity_5,.btn-outline-warning_opacity_5.active,.btn-outline-warning_opacity_5.dropdown-toggle.show,.btn-outline-warning_opacity_5:active{color:#212529;background-color:rgba(255,193,7,.5);border-color:rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_5:focus,.btn-check:checked+.btn-outline-warning_opacity_5:focus,.btn-outline-warning_opacity_5.active:focus,.btn-outline-warning_opacity_5.dropdown-toggle.show:focus,.btn-outline-warning_opacity_5:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_5.disabled,.btn-outline-warning_opacity_5:disabled{color:rgba(255,193,7,.5);background-color:transparent}.btn-outline-warning_opacity_6{color:rgba(255,193,7,.6);border-color:rgba(255,193,7,.6)}.btn-outline-warning_opacity_6:hover{color:#212529;background-color:rgba(255,193,7,.6);border-color:rgba(255,193,7,.6)}.btn-check:focus+.btn-outline-warning_opacity_6,.btn-outline-warning_opacity_6:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_6,.btn-check:checked+.btn-outline-warning_opacity_6,.btn-outline-warning_opacity_6.active,.btn-outline-warning_opacity_6.dropdown-toggle.show,.btn-outline-warning_opacity_6:active{color:#212529;background-color:rgba(255,193,7,.6);border-color:rgba(255,193,7,.6)}.btn-check:active+.btn-outline-warning_opacity_6:focus,.btn-check:checked+.btn-outline-warning_opacity_6:focus,.btn-outline-warning_opacity_6.active:focus,.btn-outline-warning_opacity_6.dropdown-toggle.show:focus,.btn-outline-warning_opacity_6:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_6.disabled,.btn-outline-warning_opacity_6:disabled{color:rgba(255,193,7,.6);background-color:transparent}.btn-outline-warning_opacity_7{color:rgba(255,193,7,.7);border-color:rgba(255,193,7,.7)}.btn-outline-warning_opacity_7:hover{color:#212529;background-color:rgba(255,193,7,.7);border-color:rgba(255,193,7,.7)}.btn-check:focus+.btn-outline-warning_opacity_7,.btn-outline-warning_opacity_7:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_7,.btn-check:checked+.btn-outline-warning_opacity_7,.btn-outline-warning_opacity_7.active,.btn-outline-warning_opacity_7.dropdown-toggle.show,.btn-outline-warning_opacity_7:active{color:#212529;background-color:rgba(255,193,7,.7);border-color:rgba(255,193,7,.7)}.btn-check:active+.btn-outline-warning_opacity_7:focus,.btn-check:checked+.btn-outline-warning_opacity_7:focus,.btn-outline-warning_opacity_7.active:focus,.btn-outline-warning_opacity_7.dropdown-toggle.show:focus,.btn-outline-warning_opacity_7:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_7.disabled,.btn-outline-warning_opacity_7:disabled{color:rgba(255,193,7,.7);background-color:transparent}.btn-outline-warning_opacity_8{color:rgba(255,193,7,.8);border-color:rgba(255,193,7,.8)}.btn-outline-warning_opacity_8:hover{color:#212529;background-color:rgba(255,193,7,.8);border-color:rgba(255,193,7,.8)}.btn-check:focus+.btn-outline-warning_opacity_8,.btn-outline-warning_opacity_8:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_8,.btn-check:checked+.btn-outline-warning_opacity_8,.btn-outline-warning_opacity_8.active,.btn-outline-warning_opacity_8.dropdown-toggle.show,.btn-outline-warning_opacity_8:active{color:#212529;background-color:rgba(255,193,7,.8);border-color:rgba(255,193,7,.8)}.btn-check:active+.btn-outline-warning_opacity_8:focus,.btn-check:checked+.btn-outline-warning_opacity_8:focus,.btn-outline-warning_opacity_8.active:focus,.btn-outline-warning_opacity_8.dropdown-toggle.show:focus,.btn-outline-warning_opacity_8:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_8.disabled,.btn-outline-warning_opacity_8:disabled{color:rgba(255,193,7,.8);background-color:transparent}.btn-outline-warning_opacity_9{color:rgba(255,193,7,.9);border-color:rgba(255,193,7,.9)}.btn-outline-warning_opacity_9:hover{color:#212529;background-color:rgba(255,193,7,.9);border-color:rgba(255,193,7,.9)}.btn-check:focus+.btn-outline-warning_opacity_9,.btn-outline-warning_opacity_9:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning_opacity_9,.btn-check:checked+.btn-outline-warning_opacity_9,.btn-outline-warning_opacity_9.active,.btn-outline-warning_opacity_9.dropdown-toggle.show,.btn-outline-warning_opacity_9:active{color:#212529;background-color:rgba(255,193,7,.9);border-color:rgba(255,193,7,.9)}.btn-check:active+.btn-outline-warning_opacity_9:focus,.btn-check:checked+.btn-outline-warning_opacity_9:focus,.btn-outline-warning_opacity_9.active:focus,.btn-outline-warning_opacity_9.dropdown-toggle.show:focus,.btn-outline-warning_opacity_9:active:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning_opacity_9.disabled,.btn-outline-warning_opacity_9:disabled{color:rgba(255,193,7,.9);background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#024dbc}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-left{right:auto;left:0}.dropdown-menu-xxl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{align-items:center;width:100%}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .2rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:50%;background-size:100%}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-collapse{display:flex!important}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-collapse{display:flex!important}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-collapse{display:flex!important}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-collapse{display:flex!important}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-collapse{display:flex!important}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-collapse{display:flex!important}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.55);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.5rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{flex-wrap:wrap;padding:.5rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb,.breadcrumb-item{display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#024dbc;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .5em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3.5rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:1rem;color:inherit}.alert-primary{color:#073984;background-color:#cfe2ff;border-color:#bbd6fe}.alert-primary .alert-link{color:#042454}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark .alert-link{color:#040505}.alert-success_opacity_1{color:rgba(2,9,4,.532);background-color:rgba(252,254,253,.82);border-color:rgba(251,253,251,.748)}.alert-success_opacity_1 .alert-link{color:rgba(0,0,0,.532)}.alert-success_opacity_2{color:rgba(4,18,7,.584);background-color:rgba(249,253,250,.84);border-color:rgba(246,251,247,.776)}.alert-success_opacity_2 .alert-link{color:rgba(0,0,0,.584)}.alert-success_opacity_3{color:rgba(6,27,11,.636);background-color:rgba(246,251,247,.86);border-color:rgba(241,249,243,.804)}.alert-success_opacity_3 .alert-link{color:rgba(0,0,0,.636)}.alert-success_opacity_4{color:rgba(9,36,15,.688);background-color:rgba(242,250,244,.88);border-color:rgba(236,247,239,.832)}.alert-success_opacity_4 .alert-link{color:rgba(0,0,0,.688)}.alert-success_opacity_5{color:rgba(11,44,18,.74);background-color:rgba(238,248,241,.9);border-color:rgba(230,245,234,.86)}.alert-success_opacity_5 .alert-link{color:rgba(1,3,1,.74)}.alert-success_opacity_6{color:rgba(13,53,22,.792);background-color:rgba(234,246,237,.92);border-color:rgba(224,242,228,.888)}.alert-success_opacity_6 .alert-link{color:rgba(3,12,5,.792)}.alert-success_opacity_7{color:rgba(15,62,25,.844);background-color:rgba(229,245,233,.94);border-color:rgba(218,240,223,.916)}.alert-success_opacity_7 .alert-link{color:rgba(5,21,8,.844)}.alert-success_opacity_8{color:rgba(17,70,29,.896);background-color:rgba(224,242,228,.96);border-color:rgba(211,237,217,.944)}.alert-success_opacity_8 .alert-link{color:rgba(7,29,12,.896)}.alert-success_opacity_9{color:rgba(19,78,32,.948);background-color:rgba(218,240,223,.98);border-color:rgba(203,234,210,.972)}.alert-success_opacity_9 .alert-link{color:rgba(9,37,15,.948)}.alert-primary_opacity_1{color:rgba(1,6,14,.532);background-color:rgba(252,253,255,.82);border-color:rgba(250,252,255,.748)}.alert-primary_opacity_1 .alert-link{color:rgba(0,0,0,.532)}.alert-primary_opacity_2{color:rgba(1,12,27,.584);background-color:rgba(248,251,255,.84);border-color:rgba(245,249,255,.776)}.alert-primary_opacity_2 .alert-link{color:rgba(0,0,0,.584)}.alert-primary_opacity_3{color:rgba(2,18,41,.636);background-color:rgba(245,249,255,.86);border-color:rgba(239,246,255,.804)}.alert-primary_opacity_3 .alert-link{color:rgba(0,0,0,.636)}.alert-primary_opacity_4{color:rgba(3,23,54,.688);background-color:rgba(241,246,255,.88);border-color:rgba(234,242,255,.832)}.alert-primary_opacity_4 .alert-link{color:rgba(0,2,6,.688)}.alert-primary_opacity_5{color:rgba(3,29,67,.74);background-color:rgba(236,244,255,.9);border-color:rgba(227,238,255,.86)}.alert-primary_opacity_5 .alert-link{color:rgba(1,8,18,.74)}.alert-primary_opacity_6{color:rgba(4,35,80,.792);background-color:rgba(232,241,255,.92);border-color:rgba(220,234,255,.888)}.alert-primary_opacity_6 .alert-link{color:rgba(2,14,31,.792)}.alert-primary_opacity_7{color:rgba(5,41,93,.844);background-color:rgba(226,238,255,.94);border-color:rgba(213,230,255,.916)}.alert-primary_opacity_7 .alert-link{color:rgba(2,20,45,.844)}.alert-primary_opacity_8{color:rgba(5,46,106,.896);background-color:rgba(220,234,255,.96);border-color:rgba(205,225,255,.944)}.alert-primary_opacity_8 .alert-link{color:rgba(3,25,57,.896)}.alert-primary_opacity_9{color:rgba(6,52,119,.948);background-color:rgba(214,230,255,.98);border-color:rgba(197,220,255,.972)}.alert-primary_opacity_9 .alert-link{color:rgba(4,31,70,.948)}.alert-danger_opacity_1{color:rgba(12,3,4,.532);background-color:rgba(255,252,253,.82);border-color:hsla(0,60%,99%,.748)}.alert-danger_opacity_1 .alert-link{color:rgba(0,0,0,.532)}.alert-danger_opacity_2{color:rgba(24,6,7,.584);background-color:rgba(254,250,250,.84);border-color:rgba(254,247,247,.776)}.alert-danger_opacity_2 .alert-link{color:rgba(0,0,0,.584)}.alert-danger_opacity_3{color:rgba(35,9,11,.636);background-color:rgba(254,246,247,.86);border-color:rgba(253,242,243,.804)}.alert-danger_opacity_3 .alert-link{color:rgba(0,0,0,.636)}.alert-danger_opacity_4{color:rgba(47,11,15,.688);background-color:rgba(253,243,244,.88);border-color:rgba(252,237,239,.832)}.alert-danger_opacity_4 .alert-link{color:rgba(6,1,2,.688)}.alert-danger_opacity_5{color:rgba(58,14,18,.74);background-color:rgba(252,239,241,.9);border-color:rgba(251,232,234,.86)}.alert-danger_opacity_5 .alert-link{color:rgba(17,4,5,.74)}.alert-danger_opacity_6{color:rgba(70,17,22,.792);background-color:rgba(252,235,237,.92);border-color:rgba(250,226,228,.888)}.alert-danger_opacity_6 .alert-link{color:rgba(29,7,9,.792)}.alert-danger_opacity_7{color:rgba(81,20,25,.844);background-color:rgba(251,231,233,.94);border-color:rgba(249,220,223,.916)}.alert-danger_opacity_7 .alert-link{color:rgba(40,10,12,.844)}.alert-danger_opacity_8{color:rgba(92,22,29,.896);background-color:rgba(250,226,228,.96);border-color:rgba(248,213,217,.944)}.alert-danger_opacity_8 .alert-link{color:rgba(51,12,16,.896)}.alert-danger_opacity_9{color:rgba(103,25,32,.948);background-color:rgba(249,221,223,.98);border-color:rgba(247,206,210,.972)}.alert-danger_opacity_9 .alert-link{color:rgba(62,15,19,.948)}.alert-info_opacity_1{color:rgba(1,9,10,.532);background-color:rgba(252,254,254,.82);border-color:rgba(250,253,254,.748)}.alert-info_opacity_1 .alert-link{color:rgba(0,0,0,.532)}.alert-info_opacity_2{color:rgba(2,17,20,.584);background-color:rgba(249,252,253,.84);border-color:rgba(245,251,252,.776)}.alert-info_opacity_2 .alert-link{color:rgba(0,0,0,.584)}.alert-info_opacity_3{color:rgba(4,26,30,.636);background-color:rgba(245,251,252,.86);border-color:rgba(240,249,250,.804)}.alert-info_opacity_3 .alert-link{color:rgba(0,0,0,.636)}.alert-info_opacity_4{color:rgba(5,35,39,.688);background-color:rgba(241,250,251,.88);border-color:rgba(234,247,249,.832)}.alert-info_opacity_4 .alert-link{color:rgba(0,0,0,.688)}.alert-info_opacity_5{color:rgba(6,43,49,.74);background-color:rgba(237,248,250,.9);border-color:rgba(228,244,247,.86)}.alert-info_opacity_5 .alert-link{color:rgba(0,3,4,.74)}.alert-info_opacity_6{color:rgba(7,51,58,.792);background-color:rgba(233,246,248,.92);border-color:rgba(222,242,245,.888)}.alert-info_opacity_6 .alert-link{color:rgba(2,11,12,.792)}.alert-info_opacity_7{color:rgba(8,60,68,.844);background-color:rgba(227,244,247,.94);border-color:rgba(215,239,243,.916)}.alert-info_opacity_7 .alert-link{color:rgba(3,20,22,.844)}.alert-info_opacity_8{color:rgba(10,68,77,.896);background-color:rgba(222,242,245,.96);border-color:rgba(207,236,240,.944)}.alert-info_opacity_8 .alert-link{color:rgba(4,28,32,.896)}.alert-info_opacity_9{color:rgba(11,76,86,.948);background-color:rgba(216,239,243,.98);border-color:rgba(199,233,238,.972)}.alert-info_opacity_9 .alert-link{color:rgba(5,36,41,.948)}.alert-warning_opacity_1{color:rgba(14,10,0,.532);background-color:rgba(255,254,252,.82);border-color:rgba(255,254,250,.748)}.alert-warning_opacity_1 .alert-link{color:rgba(0,0,0,.532)}.alert-warning_opacity_2{color:rgba(27,21,1,.584);background-color:rgba(255,253,248,.84);border-color:rgba(255,252,245,.776)}.alert-warning_opacity_2 .alert-link{color:rgba(0,0,0,.584)}.alert-warning_opacity_3{color:rgba(41,31,1,.636);background-color:rgba(255,252,245,.86);border-color:rgba(255,251,239,.804)}.alert-warning_opacity_3 .alert-link{color:rgba(0,0,0,.636)}.alert-warning_opacity_4{color:rgba(54,41,1,.688);background-color:rgba(255,251,240,.88);border-color:rgba(255,250,233,.832)}.alert-warning_opacity_4 .alert-link{color:rgba(4,3,0,.688)}.alert-warning_opacity_5{color:rgba(68,51,2,.74);background-color:rgba(255,250,236,.9);border-color:rgba(255,248,227,.86)}.alert-warning_opacity_5 .alert-link{color:rgba(18,14,1,.74)}.alert-warning_opacity_6{color:rgba(81,61,2,.792);background-color:rgba(255,249,231,.92);border-color:rgba(255,246,220,.888)}.alert-warning_opacity_6 .alert-link{color:rgba(31,24,1,.792)}.alert-warning_opacity_7{color:rgba(94,71,3,.844);background-color:rgba(255,248,226,.94);border-color:rgba(255,244,212,.916)}.alert-warning_opacity_7 .alert-link{color:rgba(45,34,1,.844)}.alert-warning_opacity_8{color:rgba(107,81,3,.896);background-color:rgba(255,246,220,.96);border-color:rgba(255,242,204,.944)}.alert-warning_opacity_8 .alert-link{color:rgba(57,43,2,.896)}.alert-warning_opacity_9{color:rgba(120,91,3,.948);background-color:rgba(255,244,213,.98);border-color:rgba(255,240,195,.972)}.alert-warning_opacity_9 .alert-link{color:rgba(70,53,2,.948)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#073984;background-color:#bbd6fe}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#073984;background-color:#a2c7fe}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#073984;border-color:#073984}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.list-group-item-success_opacity_1{color:rgba(2,9,4,.532);background-color:rgba(251,253,251,.748)}.list-group-item-success_opacity_1.list-group-item-action:focus,.list-group-item-success_opacity_1.list-group-item-action:hover{color:rgba(2,9,4,.532);background-color:rgba(234,245,234,.748)}.list-group-item-success_opacity_1.list-group-item-action.active{color:#fff;background-color:rgba(2,9,4,.532);border-color:rgba(2,9,4,.532)}.list-group-item-success_opacity_2{color:rgba(4,18,7,.584);background-color:rgba(246,251,247,.776)}.list-group-item-success_opacity_2.list-group-item-action:focus,.list-group-item-success_opacity_2.list-group-item-action:hover{color:rgba(4,18,7,.584);background-color:rgba(228,243,231,.776)}.list-group-item-success_opacity_2.list-group-item-action.active{color:#fff;background-color:rgba(4,18,7,.584);border-color:rgba(4,18,7,.584)}.list-group-item-success_opacity_3{color:rgba(6,27,11,.636);background-color:rgba(241,249,243,.804)}.list-group-item-success_opacity_3.list-group-item-action:focus,.list-group-item-success_opacity_3.list-group-item-action:hover{color:rgba(6,27,11,.636);background-color:rgba(223,241,228,.804)}.list-group-item-success_opacity_3.list-group-item-action.active{color:#fff;background-color:rgba(6,27,11,.636);border-color:rgba(6,27,11,.636)}.list-group-item-success_opacity_4{color:rgba(9,36,15,.688);background-color:rgba(236,247,239,.832)}.list-group-item-success_opacity_4.list-group-item-action:focus,.list-group-item-success_opacity_4.list-group-item-action:hover{color:rgba(9,36,15,.688);background-color:rgba(218,239,224,.832)}.list-group-item-success_opacity_4.list-group-item-action.active{color:#fff;background-color:rgba(9,36,15,.688);border-color:rgba(9,36,15,.688)}.list-group-item-success_opacity_5{color:rgba(11,44,18,.74);background-color:rgba(230,245,234,.86)}.list-group-item-success_opacity_5.list-group-item-action:focus,.list-group-item-success_opacity_5.list-group-item-action:hover{color:rgba(11,44,18,.74);background-color:rgba(212,238,219,.86)}.list-group-item-success_opacity_5.list-group-item-action.active{color:#fff;background-color:rgba(11,44,18,.74);border-color:rgba(11,44,18,.74)}.list-group-item-success_opacity_6{color:rgba(13,53,22,.792);background-color:rgba(224,242,228,.888)}.list-group-item-success_opacity_6.list-group-item-action:focus,.list-group-item-success_opacity_6.list-group-item-action:hover{color:rgba(13,53,22,.792);background-color:rgba(206,234,212,.888)}.list-group-item-success_opacity_6.list-group-item-action.active{color:#fff;background-color:rgba(13,53,22,.792);border-color:rgba(13,53,22,.792)}.list-group-item-success_opacity_7{color:rgba(15,62,25,.844);background-color:rgba(218,240,223,.916)}.list-group-item-success_opacity_7.list-group-item-action:focus,.list-group-item-success_opacity_7.list-group-item-action:hover{color:rgba(15,62,25,.844);background-color:rgba(200,233,207,.916)}.list-group-item-success_opacity_7.list-group-item-action.active{color:#fff;background-color:rgba(15,62,25,.844);border-color:rgba(15,62,25,.844)}.list-group-item-success_opacity_8{color:rgba(17,70,29,.896);background-color:rgba(211,237,217,.944)}.list-group-item-success_opacity_8.list-group-item-action:focus,.list-group-item-success_opacity_8.list-group-item-action:hover{color:rgba(17,70,29,.896);background-color:rgba(193,230,201,.944)}.list-group-item-success_opacity_8.list-group-item-action.active{color:#fff;background-color:rgba(17,70,29,.896);border-color:rgba(17,70,29,.896)}.list-group-item-success_opacity_9{color:rgba(19,78,32,.948);background-color:rgba(203,234,210,.972)}.list-group-item-success_opacity_9.list-group-item-action:focus,.list-group-item-success_opacity_9.list-group-item-action:hover{color:rgba(19,78,32,.948);background-color:rgba(185,227,194,.972)}.list-group-item-success_opacity_9.list-group-item-action.active{color:#fff;background-color:rgba(19,78,32,.948);border-color:rgba(19,78,32,.948)}.list-group-item-primary_opacity_1{color:rgba(1,6,14,.532);background-color:rgba(250,252,255,.748)}.list-group-item-primary_opacity_1.list-group-item-action:focus,.list-group-item-primary_opacity_1.list-group-item-action:hover{color:rgba(1,6,14,.532);background-color:rgba(225,237,255,.748)}.list-group-item-primary_opacity_1.list-group-item-action.active{color:#fff;background-color:rgba(1,6,14,.532);border-color:rgba(1,6,14,.532)}.list-group-item-primary_opacity_2{color:rgba(1,12,27,.584);background-color:rgba(245,249,255,.776)}.list-group-item-primary_opacity_2.list-group-item-action:focus,.list-group-item-primary_opacity_2.list-group-item-action:hover{color:rgba(1,12,27,.584);background-color:rgba(220,234,255,.776)}.list-group-item-primary_opacity_2.list-group-item-action.active{color:#fff;background-color:rgba(1,12,27,.584);border-color:rgba(1,12,27,.584)}.list-group-item-primary_opacity_3{color:rgba(2,18,41,.636);background-color:rgba(239,246,255,.804)}.list-group-item-primary_opacity_3.list-group-item-action:focus,.list-group-item-primary_opacity_3.list-group-item-action:hover{color:rgba(2,18,41,.636);background-color:rgba(214,232,255,.804)}.list-group-item-primary_opacity_3.list-group-item-action.active{color:#fff;background-color:rgba(2,18,41,.636);border-color:rgba(2,18,41,.636)}.list-group-item-primary_opacity_4{color:rgba(3,23,54,.688);background-color:rgba(234,242,255,.832)}.list-group-item-primary_opacity_4.list-group-item-action:focus,.list-group-item-primary_opacity_4.list-group-item-action:hover{color:rgba(3,23,54,.688);background-color:rgba(209,226,255,.832)}.list-group-item-primary_opacity_4.list-group-item-action.active{color:#fff;background-color:rgba(3,23,54,.688);border-color:rgba(3,23,54,.688)}.list-group-item-primary_opacity_5{color:rgba(3,29,67,.74);background-color:rgba(227,238,255,.86)}.list-group-item-primary_opacity_5.list-group-item-action:focus,.list-group-item-primary_opacity_5.list-group-item-action:hover{color:rgba(3,29,67,.74);background-color:rgba(202,223,255,.86)}.list-group-item-primary_opacity_5.list-group-item-action.active{color:#fff;background-color:rgba(3,29,67,.74);border-color:rgba(3,29,67,.74)}.list-group-item-primary_opacity_6{color:rgba(4,35,80,.792);background-color:rgba(220,234,255,.888)}.list-group-item-primary_opacity_6.list-group-item-action:focus,.list-group-item-primary_opacity_6.list-group-item-action:hover{color:rgba(4,35,80,.792);background-color:rgba(195,219,255,.888)}.list-group-item-primary_opacity_6.list-group-item-action.active{color:#fff;background-color:rgba(4,35,80,.792);border-color:rgba(4,35,80,.792)}.list-group-item-primary_opacity_7{color:rgba(5,41,93,.844);background-color:rgba(213,230,255,.916)}.list-group-item-primary_opacity_7.list-group-item-action:focus,.list-group-item-primary_opacity_7.list-group-item-action:hover{color:rgba(5,41,93,.844);background-color:rgba(188,215,255,.916)}.list-group-item-primary_opacity_7.list-group-item-action.active{color:#fff;background-color:rgba(5,41,93,.844);border-color:rgba(5,41,93,.844)}.list-group-item-primary_opacity_8{color:rgba(5,46,106,.896);background-color:rgba(205,225,255,.944)}.list-group-item-primary_opacity_8.list-group-item-action:focus,.list-group-item-primary_opacity_8.list-group-item-action:hover{color:rgba(5,46,106,.896);background-color:rgba(180,210,255,.944)}.list-group-item-primary_opacity_8.list-group-item-action.active{color:#fff;background-color:rgba(5,46,106,.896);border-color:rgba(5,46,106,.896)}.list-group-item-primary_opacity_9{color:rgba(6,52,119,.948);background-color:rgba(197,220,255,.972)}.list-group-item-primary_opacity_9.list-group-item-action:focus,.list-group-item-primary_opacity_9.list-group-item-action:hover{color:rgba(6,52,119,.948);background-color:rgba(172,205,255,.972)}.list-group-item-primary_opacity_9.list-group-item-action.active{color:#fff;background-color:rgba(6,52,119,.948);border-color:rgba(6,52,119,.948)}.list-group-item-danger_opacity_1{color:rgba(12,3,4,.532);background-color:hsla(0,60%,99%,.748)}.list-group-item-danger_opacity_1.list-group-item-action:focus,.list-group-item-danger_opacity_1.list-group-item-action:hover{color:rgba(12,3,4,.532);background-color:rgba(249,231,231,.748)}.list-group-item-danger_opacity_1.list-group-item-action.active{color:#fff;background-color:rgba(12,3,4,.532);border-color:rgba(12,3,4,.532)}.list-group-item-danger_opacity_2{color:rgba(24,6,7,.584);background-color:rgba(254,247,247,.776)}.list-group-item-danger_opacity_2.list-group-item-action:focus,.list-group-item-danger_opacity_2.list-group-item-action:hover{color:rgba(24,6,7,.584);background-color:rgba(251,224,224,.776)}.list-group-item-danger_opacity_2.list-group-item-action.active{color:#fff;background-color:rgba(24,6,7,.584);border-color:rgba(24,6,7,.584)}.list-group-item-danger_opacity_3{color:rgba(35,9,11,.636);background-color:rgba(253,242,243,.804)}.list-group-item-danger_opacity_3.list-group-item-action:focus,.list-group-item-danger_opacity_3.list-group-item-action:hover{color:rgba(35,9,11,.636);background-color:rgba(250,220,223,.804)}.list-group-item-danger_opacity_3.list-group-item-action.active{color:#fff;background-color:rgba(35,9,11,.636);border-color:rgba(35,9,11,.636)}.list-group-item-danger_opacity_4{color:rgba(47,11,15,.688);background-color:rgba(252,237,239,.832)}.list-group-item-danger_opacity_4.list-group-item-action:focus,.list-group-item-danger_opacity_4.list-group-item-action:hover{color:rgba(47,11,15,.688);background-color:rgba(248,215,220,.832)}.list-group-item-danger_opacity_4.list-group-item-action.active{color:#fff;background-color:rgba(47,11,15,.688);border-color:rgba(47,11,15,.688)}.list-group-item-danger_opacity_5{color:rgba(58,14,18,.74);background-color:rgba(251,232,234,.86)}.list-group-item-danger_opacity_5.list-group-item-action:focus,.list-group-item-danger_opacity_5.list-group-item-action:hover{color:rgba(58,14,18,.74);background-color:rgba(247,210,214,.86)}.list-group-item-danger_opacity_5.list-group-item-action.active{color:#fff;background-color:rgba(58,14,18,.74);border-color:rgba(58,14,18,.74)}.list-group-item-danger_opacity_6{color:rgba(70,17,22,.792);background-color:rgba(250,226,228,.888)}.list-group-item-danger_opacity_6.list-group-item-action:focus,.list-group-item-danger_opacity_6.list-group-item-action:hover{color:rgba(70,17,22,.792);background-color:rgba(246,204,208,.888)}.list-group-item-danger_opacity_6.list-group-item-action.active{color:#fff;background-color:rgba(70,17,22,.792);border-color:rgba(70,17,22,.792)}.list-group-item-danger_opacity_7{color:rgba(81,20,25,.844);background-color:rgba(249,220,223,.916)}.list-group-item-danger_opacity_7.list-group-item-action:focus,.list-group-item-danger_opacity_7.list-group-item-action:hover{color:rgba(81,20,25,.844);background-color:rgba(245,198,203,.916)}.list-group-item-danger_opacity_7.list-group-item-action.active{color:#fff;background-color:rgba(81,20,25,.844);border-color:rgba(81,20,25,.844)}.list-group-item-danger_opacity_8{color:rgba(92,22,29,.896);background-color:rgba(248,213,217,.944)}.list-group-item-danger_opacity_8.list-group-item-action:focus,.list-group-item-danger_opacity_8.list-group-item-action:hover{color:rgba(92,22,29,.896);background-color:rgba(244,191,197,.944)}.list-group-item-danger_opacity_8.list-group-item-action.active{color:#fff;background-color:rgba(92,22,29,.896);border-color:rgba(92,22,29,.896)}.list-group-item-danger_opacity_9{color:rgba(103,25,32,.948);background-color:rgba(247,206,210,.972)}.list-group-item-danger_opacity_9.list-group-item-action:focus,.list-group-item-danger_opacity_9.list-group-item-action:hover{color:rgba(103,25,32,.948);background-color:rgba(243,184,190,.972)}.list-group-item-danger_opacity_9.list-group-item-action.active{color:#fff;background-color:rgba(103,25,32,.948);border-color:rgba(103,25,32,.948)}.list-group-item-info_opacity_1{color:rgba(1,9,10,.532);background-color:rgba(250,253,254,.748)}.list-group-item-info_opacity_1.list-group-item-action:focus,.list-group-item-info_opacity_1.list-group-item-action:hover{color:rgba(1,9,10,.532);background-color:rgba(229,245,250,.748)}.list-group-item-info_opacity_1.list-group-item-action.active{color:#fff;background-color:rgba(1,9,10,.532);border-color:rgba(1,9,10,.532)}.list-group-item-info_opacity_2{color:rgba(2,17,20,.584);background-color:rgba(245,251,252,.776)}.list-group-item-info_opacity_2.list-group-item-action:focus,.list-group-item-info_opacity_2.list-group-item-action:hover{color:rgba(2,17,20,.584);background-color:rgba(225,243,246,.776)}.list-group-item-info_opacity_2.list-group-item-action.active{color:#fff;background-color:rgba(2,17,20,.584);border-color:rgba(2,17,20,.584)}.list-group-item-info_opacity_3{color:rgba(4,26,30,.636);background-color:rgba(240,249,250,.804)}.list-group-item-info_opacity_3.list-group-item-action:focus,.list-group-item-info_opacity_3.list-group-item-action:hover{color:rgba(4,26,30,.636);background-color:rgba(221,241,244,.804)}.list-group-item-info_opacity_3.list-group-item-action.active{color:#fff;background-color:rgba(4,26,30,.636);border-color:rgba(4,26,30,.636)}.list-group-item-info_opacity_4{color:rgba(5,35,39,.688);background-color:rgba(234,247,249,.832)}.list-group-item-info_opacity_4.list-group-item-action:focus,.list-group-item-info_opacity_4.list-group-item-action:hover{color:rgba(5,35,39,.688);background-color:rgba(214,239,243,.832)}.list-group-item-info_opacity_4.list-group-item-action.active{color:#fff;background-color:rgba(5,35,39,.688);border-color:rgba(5,35,39,.688)}.list-group-item-info_opacity_5{color:rgba(6,43,49,.74);background-color:rgba(228,244,247,.86)}.list-group-item-info_opacity_5.list-group-item-action:focus,.list-group-item-info_opacity_5.list-group-item-action:hover{color:rgba(6,43,49,.74);background-color:rgba(208,236,241,.86)}.list-group-item-info_opacity_5.list-group-item-action.active{color:#fff;background-color:rgba(6,43,49,.74);border-color:rgba(6,43,49,.74)}.list-group-item-info_opacity_6{color:rgba(7,51,58,.792);background-color:rgba(222,242,245,.888)}.list-group-item-info_opacity_6.list-group-item-action:focus,.list-group-item-info_opacity_6.list-group-item-action:hover{color:rgba(7,51,58,.792);background-color:rgba(202,234,239,.888)}.list-group-item-info_opacity_6.list-group-item-action.active{color:#fff;background-color:rgba(7,51,58,.792);border-color:rgba(7,51,58,.792)}.list-group-item-info_opacity_7{color:rgba(8,60,68,.844);background-color:rgba(215,239,243,.916)}.list-group-item-info_opacity_7.list-group-item-action:focus,.list-group-item-info_opacity_7.list-group-item-action:hover{color:rgba(8,60,68,.844);background-color:rgba(195,231,237,.916)}.list-group-item-info_opacity_7.list-group-item-action.active{color:#fff;background-color:rgba(8,60,68,.844);border-color:rgba(8,60,68,.844)}.list-group-item-info_opacity_8{color:rgba(10,68,77,.896);background-color:rgba(207,236,240,.944)}.list-group-item-info_opacity_8.list-group-item-action:focus,.list-group-item-info_opacity_8.list-group-item-action:hover{color:rgba(10,68,77,.896);background-color:rgba(188,228,234,.944)}.list-group-item-info_opacity_8.list-group-item-action.active{color:#fff;background-color:rgba(10,68,77,.896);border-color:rgba(10,68,77,.896)}.list-group-item-info_opacity_9{color:rgba(11,76,86,.948);background-color:rgba(199,233,238,.972)}.list-group-item-info_opacity_9.list-group-item-action:focus,.list-group-item-info_opacity_9.list-group-item-action:hover{color:rgba(11,76,86,.948);background-color:rgba(179,225,232,.972)}.list-group-item-info_opacity_9.list-group-item-action.active{color:#fff;background-color:rgba(11,76,86,.948);border-color:rgba(11,76,86,.948)}.list-group-item-warning_opacity_1{color:rgba(14,10,0,.532);background-color:rgba(255,254,250,.748)}.list-group-item-warning_opacity_1.list-group-item-action:focus,.list-group-item-warning_opacity_1.list-group-item-action:hover{color:rgba(14,10,0,.532);background-color:rgba(255,249,225,.748)}.list-group-item-warning_opacity_1.list-group-item-action.active{color:#fff;background-color:rgba(14,10,0,.532);border-color:rgba(14,10,0,.532)}.list-group-item-warning_opacity_2{color:rgba(27,21,1,.584);background-color:rgba(255,252,245,.776)}.list-group-item-warning_opacity_2.list-group-item-action:focus,.list-group-item-warning_opacity_2.list-group-item-action:hover{color:rgba(27,21,1,.584);background-color:rgba(255,244,220,.776)}.list-group-item-warning_opacity_2.list-group-item-action.active{color:#fff;background-color:rgba(27,21,1,.584);border-color:rgba(27,21,1,.584)}.list-group-item-warning_opacity_3{color:rgba(41,31,1,.636);background-color:rgba(255,251,239,.804)}.list-group-item-warning_opacity_3.list-group-item-action:focus,.list-group-item-warning_opacity_3.list-group-item-action:hover{color:rgba(41,31,1,.636);background-color:rgba(255,245,214,.804)}.list-group-item-warning_opacity_3.list-group-item-action.active{color:#fff;background-color:rgba(41,31,1,.636);border-color:rgba(41,31,1,.636)}.list-group-item-warning_opacity_4{color:rgba(54,41,1,.688);background-color:rgba(255,250,233,.832)}.list-group-item-warning_opacity_4.list-group-item-action:focus,.list-group-item-warning_opacity_4.list-group-item-action:hover{color:rgba(54,41,1,.688);background-color:rgba(255,244,208,.832)}.list-group-item-warning_opacity_4.list-group-item-action.active{color:#fff;background-color:rgba(54,41,1,.688);border-color:rgba(54,41,1,.688)}.list-group-item-warning_opacity_5{color:rgba(68,51,2,.74);background-color:rgba(255,248,227,.86)}.list-group-item-warning_opacity_5.list-group-item-action:focus,.list-group-item-warning_opacity_5.list-group-item-action:hover{color:rgba(68,51,2,.74);background-color:rgba(255,242,202,.86)}.list-group-item-warning_opacity_5.list-group-item-action.active{color:#fff;background-color:rgba(68,51,2,.74);border-color:rgba(68,51,2,.74)}.list-group-item-warning_opacity_6{color:rgba(81,61,2,.792);background-color:rgba(255,246,220,.888)}.list-group-item-warning_opacity_6.list-group-item-action:focus,.list-group-item-warning_opacity_6.list-group-item-action:hover{color:rgba(81,61,2,.792);background-color:rgba(255,239,195,.888)}.list-group-item-warning_opacity_6.list-group-item-action.active{color:#fff;background-color:rgba(81,61,2,.792);border-color:rgba(81,61,2,.792)}.list-group-item-warning_opacity_7{color:rgba(94,71,3,.844);background-color:rgba(255,244,212,.916)}.list-group-item-warning_opacity_7.list-group-item-action:focus,.list-group-item-warning_opacity_7.list-group-item-action:hover{color:rgba(94,71,3,.844);background-color:rgba(255,237,187,.916)}.list-group-item-warning_opacity_7.list-group-item-action.active{color:#fff;background-color:rgba(94,71,3,.844);border-color:rgba(94,71,3,.844)}.list-group-item-warning_opacity_8{color:rgba(107,81,3,.896);background-color:rgba(255,242,204,.944)}.list-group-item-warning_opacity_8.list-group-item-action:focus,.list-group-item-warning_opacity_8.list-group-item-action:hover{color:rgba(107,81,3,.896);background-color:rgba(255,236,179,.944)}.list-group-item-warning_opacity_8.list-group-item-action.active{color:#fff;background-color:rgba(107,81,3,.896);border-color:rgba(107,81,3,.896)}.list-group-item-warning_opacity_9{color:rgba(120,91,3,.948);background-color:rgba(255,240,195,.972)}.list-group-item-warning_opacity_9.list-group-item-action:focus,.list-group-item-warning_opacity_9.list-group-item-action:hover{color:rgba(120,91,3,.948);background-color:rgba(255,234,170,.972)}.list-group-item-warning_opacity_9.list-group-item-action.active{color:#fff;background-color:rgba(120,91,3,.948);border-color:rgba(120,91,3,.948)}.close{font-size:calc(1.275rem + .3vw);font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}@media (min-width:1200px){.close{font-size:1.5rem}}.close:hover{color:#000;text-decoration:none}.close:focus,.close:hover{opacity:.75}.close.disabled,.close:disabled{pointer-events:none}button.close{padding:0;background-color:transparent;border:0}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow,.bs-tooltip-right .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow:before,.bs-tooltip-right .tooltip-arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow,.bs-tooltip-left .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow:before,.bs-tooltip-left .tooltip-arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .popover-arrow:after,.popover .popover-arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.popover-arrow,.bs-popover-right>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.popover-arrow:before,.bs-popover-right>.popover-arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.popover-arrow:after,.bs-popover-right>.popover-arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.popover-arrow,.bs-popover-left>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.popover-arrow:before,.bs-popover-left>.popover-arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.popover-arrow:after,.bs-popover-left>.popover-arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid;border-right:.25em solid transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.clearfix:after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#024dbc}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#494f54}.link-success{color:#28a745}.link-success:focus,.link-success:hover{color:#19692c}.link-info{color:#17a2b8}.link-info:focus,.link-info:hover{color:#0f6674}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ba8b00}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#a71d2a}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#cbd3da}.link-dark{color:#343a40}.link-dark:focus,.link-dark:hover{color:#121416}.link-success_opacity_1{color:rgba(40,167,69,.1)}.link-success_opacity_1:focus,.link-success_opacity_1:hover{color:rgba(25,105,44,.1)}.link-success_opacity_2{color:rgba(40,167,69,.2)}.link-success_opacity_2:focus,.link-success_opacity_2:hover{color:rgba(25,105,44,.2)}.link-success_opacity_3{color:rgba(40,167,69,.3)}.link-success_opacity_3:focus,.link-success_opacity_3:hover{color:rgba(25,105,44,.3)}.link-success_opacity_4{color:rgba(40,167,69,.4)}.link-success_opacity_4:focus,.link-success_opacity_4:hover{color:rgba(25,105,44,.4)}.link-success_opacity_5{color:rgba(40,167,69,.5)}.link-success_opacity_5:focus,.link-success_opacity_5:hover{color:rgba(25,105,44,.5)}.link-success_opacity_6{color:rgba(40,167,69,.6)}.link-success_opacity_6:focus,.link-success_opacity_6:hover{color:rgba(25,105,44,.6)}.link-success_opacity_7{color:rgba(40,167,69,.7)}.link-success_opacity_7:focus,.link-success_opacity_7:hover{color:rgba(25,105,44,.7)}.link-success_opacity_8{color:rgba(40,167,69,.8)}.link-success_opacity_8:focus,.link-success_opacity_8:hover{color:rgba(25,105,44,.8)}.link-success_opacity_9{color:rgba(40,167,69,.9)}.link-success_opacity_9:focus,.link-success_opacity_9:hover{color:rgba(25,105,44,.9)}.link-primary_opacity_1{color:rgba(13,110,253,.1)}.link-primary_opacity_1:focus,.link-primary_opacity_1:hover{color:rgba(2,77,188,.1)}.link-primary_opacity_2{color:rgba(13,110,253,.2)}.link-primary_opacity_2:focus,.link-primary_opacity_2:hover{color:rgba(2,77,188,.2)}.link-primary_opacity_3{color:rgba(13,110,253,.3)}.link-primary_opacity_3:focus,.link-primary_opacity_3:hover{color:rgba(2,77,188,.3)}.link-primary_opacity_4{color:rgba(13,110,253,.4)}.link-primary_opacity_4:focus,.link-primary_opacity_4:hover{color:rgba(2,77,188,.4)}.link-primary_opacity_5{color:rgba(13,110,253,.5)}.link-primary_opacity_5:focus,.link-primary_opacity_5:hover{color:rgba(2,77,188,.5)}.link-primary_opacity_6{color:rgba(13,110,253,.6)}.link-primary_opacity_6:focus,.link-primary_opacity_6:hover{color:rgba(2,77,188,.6)}.link-primary_opacity_7{color:rgba(13,110,253,.7)}.link-primary_opacity_7:focus,.link-primary_opacity_7:hover{color:rgba(2,77,188,.7)}.link-primary_opacity_8{color:rgba(13,110,253,.8)}.link-primary_opacity_8:focus,.link-primary_opacity_8:hover{color:rgba(2,77,188,.8)}.link-primary_opacity_9{color:rgba(13,110,253,.9)}.link-primary_opacity_9:focus,.link-primary_opacity_9:hover{color:rgba(2,77,188,.9)}.link-danger_opacity_1{color:rgba(220,53,69,.1)}.link-danger_opacity_1:focus,.link-danger_opacity_1:hover{color:rgba(167,29,42,.1)}.link-danger_opacity_2{color:rgba(220,53,69,.2)}.link-danger_opacity_2:focus,.link-danger_opacity_2:hover{color:rgba(167,29,42,.2)}.link-danger_opacity_3{color:rgba(220,53,69,.3)}.link-danger_opacity_3:focus,.link-danger_opacity_3:hover{color:rgba(167,29,42,.3)}.link-danger_opacity_4{color:rgba(220,53,69,.4)}.link-danger_opacity_4:focus,.link-danger_opacity_4:hover{color:rgba(167,29,42,.4)}.link-danger_opacity_5{color:rgba(220,53,69,.5)}.link-danger_opacity_5:focus,.link-danger_opacity_5:hover{color:rgba(167,29,42,.5)}.link-danger_opacity_6{color:rgba(220,53,69,.6)}.link-danger_opacity_6:focus,.link-danger_opacity_6:hover{color:rgba(167,29,42,.6)}.link-danger_opacity_7{color:rgba(220,53,69,.7)}.link-danger_opacity_7:focus,.link-danger_opacity_7:hover{color:rgba(167,29,42,.7)}.link-danger_opacity_8{color:rgba(220,53,69,.8)}.link-danger_opacity_8:focus,.link-danger_opacity_8:hover{color:rgba(167,29,42,.8)}.link-danger_opacity_9{color:rgba(220,53,69,.9)}.link-danger_opacity_9:focus,.link-danger_opacity_9:hover{color:rgba(167,29,42,.9)}.link-info_opacity_1{color:rgba(23,162,184,.1)}.link-info_opacity_1:focus,.link-info_opacity_1:hover{color:rgba(15,102,116,.1)}.link-info_opacity_2{color:rgba(23,162,184,.2)}.link-info_opacity_2:focus,.link-info_opacity_2:hover{color:rgba(15,102,116,.2)}.link-info_opacity_3{color:rgba(23,162,184,.3)}.link-info_opacity_3:focus,.link-info_opacity_3:hover{color:rgba(15,102,116,.3)}.link-info_opacity_4{color:rgba(23,162,184,.4)}.link-info_opacity_4:focus,.link-info_opacity_4:hover{color:rgba(15,102,116,.4)}.link-info_opacity_5{color:rgba(23,162,184,.5)}.link-info_opacity_5:focus,.link-info_opacity_5:hover{color:rgba(15,102,116,.5)}.link-info_opacity_6{color:rgba(23,162,184,.6)}.link-info_opacity_6:focus,.link-info_opacity_6:hover{color:rgba(15,102,116,.6)}.link-info_opacity_7{color:rgba(23,162,184,.7)}.link-info_opacity_7:focus,.link-info_opacity_7:hover{color:rgba(15,102,116,.7)}.link-info_opacity_8{color:rgba(23,162,184,.8)}.link-info_opacity_8:focus,.link-info_opacity_8:hover{color:rgba(15,102,116,.8)}.link-info_opacity_9{color:rgba(23,162,184,.9)}.link-info_opacity_9:focus,.link-info_opacity_9:hover{color:rgba(15,102,116,.9)}.link-warning_opacity_1{color:rgba(255,193,7,.1)}.link-warning_opacity_1:focus,.link-warning_opacity_1:hover{color:rgba(186,139,0,.1)}.link-warning_opacity_2{color:rgba(255,193,7,.2)}.link-warning_opacity_2:focus,.link-warning_opacity_2:hover{color:rgba(186,139,0,.2)}.link-warning_opacity_3{color:rgba(255,193,7,.3)}.link-warning_opacity_3:focus,.link-warning_opacity_3:hover{color:rgba(186,139,0,.3)}.link-warning_opacity_4{color:rgba(255,193,7,.4)}.link-warning_opacity_4:focus,.link-warning_opacity_4:hover{color:rgba(186,139,0,.4)}.link-warning_opacity_5{color:rgba(255,193,7,.5)}.link-warning_opacity_5:focus,.link-warning_opacity_5:hover{color:rgba(186,139,0,.5)}.link-warning_opacity_6{color:rgba(255,193,7,.6)}.link-warning_opacity_6:focus,.link-warning_opacity_6:hover{color:rgba(186,139,0,.6)}.link-warning_opacity_7{color:rgba(255,193,7,.7)}.link-warning_opacity_7:focus,.link-warning_opacity_7:hover{color:rgba(186,139,0,.7)}.link-warning_opacity_8{color:rgba(255,193,7,.8)}.link-warning_opacity_8:focus,.link-warning_opacity_8:hover{color:rgba(186,139,0,.8)}.link-warning_opacity_9{color:rgba(255,193,7,.9)}.link-warning_opacity_9:focus,.link-warning_opacity_9:hover{color:rgba(186,139,0,.9)}.embed-responsive{position:relative;width:100%}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;width:100%;height:100%}.embed-responsive-21by9:before{padding-top:42.85714%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}.sticky-top{position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.sr-only,.sr-only-focusable:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-success_opacity_1{border-color:rgba(40,167,69,.1)!important}.border-success_opacity_2{border-color:rgba(40,167,69,.2)!important}.border-success_opacity_3{border-color:rgba(40,167,69,.3)!important}.border-success_opacity_4{border-color:rgba(40,167,69,.4)!important}.border-success_opacity_5{border-color:rgba(40,167,69,.5)!important}.border-success_opacity_6{border-color:rgba(40,167,69,.6)!important}.border-success_opacity_7{border-color:rgba(40,167,69,.7)!important}.border-success_opacity_8{border-color:rgba(40,167,69,.8)!important}.border-success_opacity_9{border-color:rgba(40,167,69,.9)!important}.border-primary_opacity_1{border-color:rgba(13,110,253,.1)!important}.border-primary_opacity_2{border-color:rgba(13,110,253,.2)!important}.border-primary_opacity_3{border-color:rgba(13,110,253,.3)!important}.border-primary_opacity_4{border-color:rgba(13,110,253,.4)!important}.border-primary_opacity_5{border-color:rgba(13,110,253,.5)!important}.border-primary_opacity_6{border-color:rgba(13,110,253,.6)!important}.border-primary_opacity_7{border-color:rgba(13,110,253,.7)!important}.border-primary_opacity_8{border-color:rgba(13,110,253,.8)!important}.border-primary_opacity_9{border-color:rgba(13,110,253,.9)!important}.border-danger_opacity_1{border-color:rgba(220,53,69,.1)!important}.border-danger_opacity_2{border-color:rgba(220,53,69,.2)!important}.border-danger_opacity_3{border-color:rgba(220,53,69,.3)!important}.border-danger_opacity_4{border-color:rgba(220,53,69,.4)!important}.border-danger_opacity_5{border-color:rgba(220,53,69,.5)!important}.border-danger_opacity_6{border-color:rgba(220,53,69,.6)!important}.border-danger_opacity_7{border-color:rgba(220,53,69,.7)!important}.border-danger_opacity_8{border-color:rgba(220,53,69,.8)!important}.border-danger_opacity_9{border-color:rgba(220,53,69,.9)!important}.border-info_opacity_1{border-color:rgba(23,162,184,.1)!important}.border-info_opacity_2{border-color:rgba(23,162,184,.2)!important}.border-info_opacity_3{border-color:rgba(23,162,184,.3)!important}.border-info_opacity_4{border-color:rgba(23,162,184,.4)!important}.border-info_opacity_5{border-color:rgba(23,162,184,.5)!important}.border-info_opacity_6{border-color:rgba(23,162,184,.6)!important}.border-info_opacity_7{border-color:rgba(23,162,184,.7)!important}.border-info_opacity_8{border-color:rgba(23,162,184,.8)!important}.border-info_opacity_9{border-color:rgba(23,162,184,.9)!important}.border-warning_opacity_1{border-color:rgba(255,193,7,.1)!important}.border-warning_opacity_2{border-color:rgba(255,193,7,.2)!important}.border-warning_opacity_3{border-color:rgba(255,193,7,.3)!important}.border-warning_opacity_4{border-color:rgba(255,193,7,.4)!important}.border-warning_opacity_5{border-color:rgba(255,193,7,.5)!important}.border-warning_opacity_6{border-color:rgba(255,193,7,.6)!important}.border-warning_opacity_7{border-color:rgba(255,193,7,.7)!important}.border-warning_opacity_8{border-color:rgba(255,193,7,.8)!important}.border-warning_opacity_9{border-color:rgba(255,193,7,.9)!important}.border-white{border-color:#fff!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#28a745!important}.text-info{color:#17a2b8!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-success_opacity_1{color:rgba(40,167,69,.1)!important}.text-success_opacity_2{color:rgba(40,167,69,.2)!important}.text-success_opacity_3{color:rgba(40,167,69,.3)!important}.text-success_opacity_4{color:rgba(40,167,69,.4)!important}.text-success_opacity_5{color:rgba(40,167,69,.5)!important}.text-success_opacity_6{color:rgba(40,167,69,.6)!important}.text-success_opacity_7{color:rgba(40,167,69,.7)!important}.text-success_opacity_8{color:rgba(40,167,69,.8)!important}.text-success_opacity_9{color:rgba(40,167,69,.9)!important}.text-primary_opacity_1{color:rgba(13,110,253,.1)!important}.text-primary_opacity_2{color:rgba(13,110,253,.2)!important}.text-primary_opacity_3{color:rgba(13,110,253,.3)!important}.text-primary_opacity_4{color:rgba(13,110,253,.4)!important}.text-primary_opacity_5{color:rgba(13,110,253,.5)!important}.text-primary_opacity_6{color:rgba(13,110,253,.6)!important}.text-primary_opacity_7{color:rgba(13,110,253,.7)!important}.text-primary_opacity_8{color:rgba(13,110,253,.8)!important}.text-primary_opacity_9{color:rgba(13,110,253,.9)!important}.text-danger_opacity_1{color:rgba(220,53,69,.1)!important}.text-danger_opacity_2{color:rgba(220,53,69,.2)!important}.text-danger_opacity_3{color:rgba(220,53,69,.3)!important}.text-danger_opacity_4{color:rgba(220,53,69,.4)!important}.text-danger_opacity_5{color:rgba(220,53,69,.5)!important}.text-danger_opacity_6{color:rgba(220,53,69,.6)!important}.text-danger_opacity_7{color:rgba(220,53,69,.7)!important}.text-danger_opacity_8{color:rgba(220,53,69,.8)!important}.text-danger_opacity_9{color:rgba(220,53,69,.9)!important}.text-info_opacity_1{color:rgba(23,162,184,.1)!important}.text-info_opacity_2{color:rgba(23,162,184,.2)!important}.text-info_opacity_3{color:rgba(23,162,184,.3)!important}.text-info_opacity_4{color:rgba(23,162,184,.4)!important}.text-info_opacity_5{color:rgba(23,162,184,.5)!important}.text-info_opacity_6{color:rgba(23,162,184,.6)!important}.text-info_opacity_7{color:rgba(23,162,184,.7)!important}.text-info_opacity_8{color:rgba(23,162,184,.8)!important}.text-info_opacity_9{color:rgba(23,162,184,.9)!important}.text-warning_opacity_1{color:rgba(255,193,7,.1)!important}.text-warning_opacity_2{color:rgba(255,193,7,.2)!important}.text-warning_opacity_3{color:rgba(255,193,7,.3)!important}.text-warning_opacity_4{color:rgba(255,193,7,.4)!important}.text-warning_opacity_5{color:rgba(255,193,7,.5)!important}.text-warning_opacity_6{color:rgba(255,193,7,.6)!important}.text-warning_opacity_7{color:rgba(255,193,7,.7)!important}.text-warning_opacity_8{color:rgba(255,193,7,.8)!important}.text-warning_opacity_9{color:rgba(255,193,7,.9)!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#28a745!important}.bg-info{background-color:#17a2b8!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#343a40!important}.bg-success_opacity_1{background-color:rgba(40,167,69,.1)!important}.bg-success_opacity_2{background-color:rgba(40,167,69,.2)!important}.bg-success_opacity_3{background-color:rgba(40,167,69,.3)!important}.bg-success_opacity_4{background-color:rgba(40,167,69,.4)!important}.bg-success_opacity_5{background-color:rgba(40,167,69,.5)!important}.bg-success_opacity_6{background-color:rgba(40,167,69,.6)!important}.bg-success_opacity_7{background-color:rgba(40,167,69,.7)!important}.bg-success_opacity_8{background-color:rgba(40,167,69,.8)!important}.bg-success_opacity_9{background-color:rgba(40,167,69,.9)!important}.bg-primary_opacity_1{background-color:rgba(13,110,253,.1)!important}.bg-primary_opacity_2{background-color:rgba(13,110,253,.2)!important}.bg-primary_opacity_3{background-color:rgba(13,110,253,.3)!important}.bg-primary_opacity_4{background-color:rgba(13,110,253,.4)!important}.bg-primary_opacity_5{background-color:rgba(13,110,253,.5)!important}.bg-primary_opacity_6{background-color:rgba(13,110,253,.6)!important}.bg-primary_opacity_7{background-color:rgba(13,110,253,.7)!important}.bg-primary_opacity_8{background-color:rgba(13,110,253,.8)!important}.bg-primary_opacity_9{background-color:rgba(13,110,253,.9)!important}.bg-danger_opacity_1{background-color:rgba(220,53,69,.1)!important}.bg-danger_opacity_2{background-color:rgba(220,53,69,.2)!important}.bg-danger_opacity_3{background-color:rgba(220,53,69,.3)!important}.bg-danger_opacity_4{background-color:rgba(220,53,69,.4)!important}.bg-danger_opacity_5{background-color:rgba(220,53,69,.5)!important}.bg-danger_opacity_6{background-color:rgba(220,53,69,.6)!important}.bg-danger_opacity_7{background-color:rgba(220,53,69,.7)!important}.bg-danger_opacity_8{background-color:rgba(220,53,69,.8)!important}.bg-danger_opacity_9{background-color:rgba(220,53,69,.9)!important}.bg-info_opacity_1{background-color:rgba(23,162,184,.1)!important}.bg-info_opacity_2{background-color:rgba(23,162,184,.2)!important}.bg-info_opacity_3{background-color:rgba(23,162,184,.3)!important}.bg-info_opacity_4{background-color:rgba(23,162,184,.4)!important}.bg-info_opacity_5{background-color:rgba(23,162,184,.5)!important}.bg-info_opacity_6{background-color:rgba(23,162,184,.6)!important}.bg-info_opacity_7{background-color:rgba(23,162,184,.7)!important}.bg-info_opacity_8{background-color:rgba(23,162,184,.8)!important}.bg-info_opacity_9{background-color:rgba(23,162,184,.9)!important}.bg-warning_opacity_1{background-color:rgba(255,193,7,.1)!important}.bg-warning_opacity_2{background-color:rgba(255,193,7,.2)!important}.bg-warning_opacity_3{background-color:rgba(255,193,7,.3)!important}.bg-warning_opacity_4{background-color:rgba(255,193,7,.4)!important}.bg-warning_opacity_5{background-color:rgba(255,193,7,.5)!important}.bg-warning_opacity_6{background-color:rgba(255,193,7,.6)!important}.bg-warning_opacity_7{background-color:rgba(255,193,7,.7)!important}.bg-warning_opacity_8{background-color:rgba(255,193,7,.8)!important}.bg-warning_opacity_9{background-color:rgba(255,193,7,.9)!important}.bg-body,.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.font-italic{font-style:italic!important}.font-normal{font-style:normal!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.user-select-all{user-select:all!important}.user-select-auto{user-select:auto!important}.user-select-none{user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-sm{border-radius:.2rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.float-xxl-none{float:none!important}.d-xxl-none{display:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:.25rem!important}.mr-xxl-2{margin-right:.5rem!important}.mr-xxl-3{margin-right:1rem!important}.mr-xxl-4{margin-right:1.5rem!important}.mr-xxl-5{margin-right:3rem!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:.25rem!important}.ml-xxl-2{margin-left:.5rem!important}.ml-xxl-3{margin-left:1rem!important}.ml-xxl-4{margin-left:1.5rem!important}.ml-xxl-5{margin-left:3rem!important}.ml-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:.25rem!important}.pr-xxl-2{padding-right:.5rem!important}.pr-xxl-3{padding-right:1rem!important}.pr-xxl-4{padding-right:1.5rem!important}.pr-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:.25rem!important}.pl-xxl-2{padding-left:.5rem!important}.pl-xxl-3{padding-left:1rem!important}.pl-xxl-4{padding-left:1.5rem!important}.pl-xxl-5{padding-left:3rem!important}.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translateY(-4px);-ms-transform:rotate(3deg) translateY(-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#29d transparent transparent #29d;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.toastify{padding:12px 20px;color:#fff;display:inline-block;box-shadow:0 3px 6px -1px rgba(0,0,0,.12),0 10px 36px -4px rgba(77,96,232,.3);background:-webkit-linear-gradient(315deg,#73a5ff,#5477f5);background:linear-gradient(135deg,#73a5ff,#5477f5);position:fixed;opacity:0;transition:all .4s cubic-bezier(.215,.61,.355,1);border-radius:2px;cursor:pointer;text-decoration:none;max-width:calc(50% - 20px);z-index:2147483647}.toastify.on{opacity:1}.toast-close{opacity:.4;padding:0 5px}.toastify-right{right:15px}.toastify-left{left:15px}.toastify-top{top:-150px}.toastify-bottom{bottom:-150px}.toastify-rounded{border-radius:25px}.toastify-avatar{width:1.5em;height:1.5em;margin:-7px 5px;border-radius:2px}.toastify-center{margin-left:auto;margin-right:auto;left:0;right:0;max-width:fit-content}@media only screen and (max-width:360px){.toastify-left,.toastify-right{margin-left:auto;margin-right:auto;left:0;right:0;max-width:fit-content}}:root{--radius:6px;--bs-font-sans-serif:"Roman-55",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}body{font-family:var(--bs-font-sans-serif)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background-color:#fff}::-webkit-scrollbar-thumb{background:hsla(0,0%,52.9%,.4);border-radius:6px}::-webkit-scrollbar-track{background:hsla(0,0%,52.9%,.1)}[data-toggle=tooltip] *{pointer-events:none}hr{background-color:#f5f5f5;opacity:unset}.post-nav a,a.a-none{color:inherit;text-decoration:none}.icon{width:1rem;height:1rem;fill:currentColor;overflow:hidden}.icon-20{width:1.25rem;height:1.25rem}.icon-32{width:2rem;height:2rem}.z-index1{z-index:1}.z-index2{z-index:2}.lazy,.lazy.loading{opacity:0}.lazy.loaded{opacity:1;transition:opacity .5s}.postTags a{border-radius:50rem!important;color:var(--bs-primary);display:inline-block;padding:.35em .65em;font-size:.75em;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;text-decoration:none;margin:0 2px;border:1.5px solid}.dropdown-toggle:after{transition:transform .15s linear}.dropdown-item span{transition:.18s ease-out;-webkit-transition:.18s ease-out}.dropdown-item:hover span{margin-left:.5rem}.show.dropdown .dropdown-toggle:after{transform:translateY(3px)}.dropdown-menu{margin-top:0;left:-15px;min-width:9rem}.navbar{position:fixed;top:0;left:0;right:0;padding-left:1rem;padding-right:1rem;z-index:100}#navMobile,#navPC{transition:.3s ease-out;box-shadow:0 .5rem 1rem rgba(18,38,63,.05)}.nav-link{white-space:nowrap}#musicApp,.color-icon,.dark-icon{width:2.5rem;height:3rem;justify-content:center;cursor:pointer}.headroom{will-change:transform;transition:transform .2s linear}.headroom--pinned{transform:translateY(0)}.headroom--unpinned{transform:translateY(-100%)}#mobileAside{width:75%;position:fixed;top:0;bottom:0;left:0;z-index:5;transform:translateX(-100%);transition:.3s;overflow-y:auto;-webkit-overflow-scrolling:touch}#mobileAside[mobile-open=true]{transform:translateX(0)}.siteLogo{height:2rem;width:auto}a{color:var(--bs-primary);text-decoration:underline}#musicPop,#themeColor{top:calc(3rem + 5px);transform-origin:0 -5px;transform:scaleY(0)}#musicMobileBox,#musicPop,#themeColor{position:absolute;right:0;box-shadow:0 4px 8px rgba(31,45,61,.2);background:#fff;padding:.75rem;border-radius:.5rem;opacity:0;visibility:hidden;transition:.25s}#musicMobileBox{bottom:calc(2.5rem + 5px);max-width:12.5rem}#musicApp:hover #musicPop,#themePlane:hover #themeColor{visibility:visible;opacity:1;transform:scaleY(1)}#musicMobileBox.on{visibility:visible;opacity:1}#musicMobileBox:before{content:"";position:absolute;display:block;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #fff;bottom:-5px;right:14px}#musicSvg{border-radius:50%;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center}#musicSvg.on{color:var(--bs-primary)}@-webkit-keyframes ripple{0%{box-shadow:0 0 0 0 var(--bs-primary_opacity_1),0 0 0 20px var(--bs-primary_opacity_1),0 0 0 40px var(--bs-primary_opacity_1)}to{box-shadow:0 0 0 20px var(--bs-primary_opacity_1),0 0 0 40px var(--bs-primary_opacity_1),0 0 0 60px hsla(0,0%,100%,0)}}@keyframes ripple{0%{box-shadow:0 0 0 0 var(--bs-primary_opacity_1),0 0 0 20px var(--bs-primary_opacity_1),0 0 0 40px var(--bs-primary_opacity_1)}to{box-shadow:0 0 0 20px var(--bs-primary_opacity_1),0 0 0 40px var(--bs-primary_opacity_1),0 0 0 60px hsla(0,0%,100%,0)}}.controls .icon:not(.icon-20){width:.7rem;height:.7rem}.music-cover{width:3rem;height:3rem;border-radius:50%;margin-right:.5rem}.music-cover,.music-next-btn,.music-play-btn,.music-prev-btn{box-shadow:0 1px 5px rgba(0,123,255,.26);border:1px solid rgba(108,117,125,.26)}.music-play-btn .icon{margin:.6rem}.music-picture{display:flex;align-items:center;vertical-align:middle;justify-content:center}@-webkit-keyframes rightWhirl{0%{-webkit-transform:rotate(0)}50%{-webkit-transform:rotate(180deg)}to{-webkit-transform:rotate(1turn)}}@keyframes rightWhirl{0%{-webkit-transform:rotate(0)}50%{-webkit-transform:rotate(180deg)}to{-webkit-transform:rotate(1turn)}}.music-cover.music-pause{-webkit-animation:rightWhirl 5s linear infinite;animation:rightWhirl 5s linear infinite}#musicApp svg.on{color:var(--bs-primary)}.music-list{padding:0;margin-top:.5rem;max-height:9rem;overflow:auto;color:var(--bs-dark)}.music-list::-webkit-scrollbar{width:0}.music-list li{display:flex;list-style:none;padding:.25rem .75rem;border-radius:4px;cursor:pointer;white-space:nowrap;transition:.25s;overflow:hidden;text-overflow:ellipsis}.music-list li:hover{background:rgba(0,123,255,.1)}.music-list li span{margin-right:.5rem;font-size:85%}#musicPop{max-width:12.5rem}#musicPop:before{content:"";position:absolute;display:block;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #fff;top:-5px;right:20px}.music-list li.music-curMusic{background:var(--bs-primary);color:var(--bs-white)}.music-control,.music-list-author{display:none}.mobile-nav{margin-top:5rem}.aside-avatar img{border-radius:50%;width:6rem;height:6rem}.aside-children div,.aside-pages li,.aside-sort li{padding:.5rem 0}.aside-pages li:not(:first-child){margin:0 2.5rem}.aside-sort li:not(:first-child){margin:0 3.5rem}.aside-sort li[data-toggle=collapse]{margin:0;padding:.5rem 3.5rem}.aside-sort li[data-toggle=collapse][aria-expanded=true]{background-color:var(--bs-primary_opacity_1)}.aside-sort li[data-toggle=collapse],.aside-sort li[data-toggle=collapse]>svg{transition:.25s}.aside-sort li[data-toggle=collapse][aria-expanded=true]>svg{transform:rotate(90deg)}.aside-children{background-color:var(--bs-light)}.aside-children div{margin-left:4rem}.aside-pages a,.aside-sort a{text-decoration:none;color:initial}#header{position:relative;text-align:center;background-size:cover;margin-bottom:2rem;-o-object-fit:cover;object-fit:cover;background-position-x:center;background-position-y:center}.hero-box{position:relative;height:25rem}#header:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:url()}.main-hero-waves-area{width:100%;position:absolute;left:0;z-index:0;bottom:-5px}.waves-area .waves-svg{width:100%;height:5rem}.waves-area .parallax>use{-webkit-animation:move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite;animation:move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite}.waves-area .parallax>use:first-child{-webkit-animation-delay:-2s;animation-delay:-2s;-webkit-animation-duration:7s;animation-duration:7s;fill:hsla(0,0%,100%,.7)}.waves-area .parallax>use:nth-child(2){-webkit-animation-delay:-3s;animation-delay:-3s;-webkit-animation-duration:10s;animation-duration:10s;fill:hsla(0,0%,100%,.5)}.waves-area .parallax>use:nth-child(3){-webkit-animation-delay:-4s;animation-delay:-4s;-webkit-animation-duration:13s;animation-duration:13s;fill:hsla(0,0%,100%,.3)}.waves-area .parallax>use:nth-child(4){-webkit-animation-delay:-5s;animation-delay:-5s;-webkit-animation-duration:20s;animation-duration:20s;fill:var(--bs-light)}@-webkit-keyframes move-forever{0%{transform:translate3d(-90px,0,0)}to{transform:translate3d(85px,0,0)}}@keyframes move-forever{0%{transform:translate3d(-90px,0,0)}to{transform:translate3d(85px,0,0)}}.has-img .navbar-brand,.has-img .navbar-nav,.has-img.navbar-light .navbar-nav .nav-link{color:var(--bs-white)}.has-img{padding:.75rem 0}.navbar-light .navbar-nav .nav-link{color:var(--bs-dark)}.has-img .navbar-brand:hover,.has-img .navbar-nav:hover,.has-img.navbar-light .navbar-nav .nav-link:hover{color:var(--bs-white)}.bg-blur{background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:saturate(200%) blur(20px);backdrop-filter:saturate(200%) blur(20px)}[mobile-open=true]~#mask{display:block}#mask{position:fixed;z-index:4;top:0;bottom:0;left:0;right:0;background:#000;opacity:.5;transition:.2s cubic-bezier(.25,.46,.45,.94);display:none}.mobile-right-btn{position:fixed;right:1rem;background-color:var(--bs-white);bottom:1rem;border-radius:6px;z-index:10}.right-btn-icon{padding:5px .5rem}@media (min-width:1400px){#main.container{max-width:1140px}}#content{min-height:100vh;color:var(--bs-white)}#sidebar .sticky-top{position:-webkit-sticky;position:sticky;top:4rem;z-index:5}[data-bgimg=no]{margin-top:6rem}.article:not(.card-style){position:relative;height:14.5rem;border-radius:var(--radius);overflow:hidden;background-color:var(--bs-dark);margin-bottom:2rem;border:1px solid #e9ecef}.article.have-img .article-img{z-index:2;width:35%}.article.have-img .article-img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;background-position-x:center;background-position-y:center;background-size:cover;transition:.3s ease-out}.article.have-img .article-ctx{width:65%;display:flex;justify-content:space-between;flex-direction:column;padding:3rem 2rem;z-index:2}.article.have-img .article-description,.article.have-img .article-info,.article.have-img .article-title{letter-spacing:.06rem;text-shadow:0 .1875rem .3125rem rgba(0,0,0,.3)}.article.have-img .article-title{font-size:1.5rem;font-weight:700;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;word-break:break-all}.article.have-img .article-info{font-size:12px;display:flex;justify-content:space-between}.article.have-img .blur-img{z-index:0}.article.have-img .blur-img img{position:absolute;top:0;height:14.5rem;-o-object-fit:cover;object-fit:cover;background-position-x:center;background-position-y:center;background-size:cover;left:0;right:0;bottom:0;width:100%;-webkit-filter:blur(1.875rem) brightness(.8);filter:blur(1.875rem) brightness(.8);transform:scale(1.2)}.article.have-img .article-description{line-height:1.8rem;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-all;min-height:3.625rem}.article.have-img .article-sort,.article.have-img .article-time,.article.have-img .article-views{display:inline-flex;align-items:center}.article.have-img .article-vs{display:flex}.article.no-bg-img,.article.no-bg-img .article-description,.article.no-bg-img .article-info,.article.no-bg-img .article-title,.article.no-img{background-color:var(--bs-white);color:var(--bs-dark);text-shadow:unset}.article.have-img.no-bg-img .article-img{margin:.75rem 0 .75rem .75rem;border-radius:var(--radius);overflow:hidden}.article.have-img.no-bg-img.flex-row-reverse .article-img{margin:.75rem .75rem .75rem 0}.article.no-img .article-description,.article.no-img .article-info,.article.no-img .article-title{letter-spacing:.06rem}.article.no-bg-img .article-sort svg,.article.no-bg-img .article-time svg,.article.no-bg-img .article-views svg,.article.no-img .article-sort svg,.article.no-img .article-time svg,.article.no-img .article-title:hover,.article.no-img .article-views svg{color:var(--bs-primary)}.article.no-img .article-ctx{padding:2rem;width:100%;display:flex;justify-content:space-between;flex-direction:column;z-index:2}.article.no-img .article-title{font-size:1.7rem;transition:.18s ease-out;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;word-break:break-all}.article.no-img .article-info{font-size:.5rem;display:flex;justify-content:space-between}.article.no-img .article-description{font-weight:200;line-height:1.8rem;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3;min-height:5.375rem}.article.no-img .article-sort,.article.no-img .article-time,.article.no-img .article-views{display:inline-flex;align-items:center}.article.no-img .article-vs{display:flex}.article.no-bg-img:hover .article-img img{transform:scale(1.05)}.article.have-img:hover .article-img img{transform:scale(1.05) rotate(1deg)}.article.have-img .article-img.img-left{-webkit-clip-path:polygon(0 0,94% 0,100% 100%,0 100%);clip-path:polygon(0 0,94% 0,100% 100%,0 100%);margin:0;border-radius:0}.article.have-img .article-img.img-right{-webkit-clip-path:polygon(0 0,100% 0,94% 100%,0 100%);clip-path:polygon(0 0,100% 0,94% 100%,0 100%);margin:0;border-radius:0}.article.have-img.flex-row-reverse .article-img.img-left{-webkit-clip-path:polygon(0 0,100% 0,100% 100%,6% 100%);clip-path:polygon(0 0,100% 0,100% 100%,6% 100%);margin:0;border-radius:0}.article.have-img.flex-row-reverse .article-img.img-right{-webkit-clip-path:polygon(6% 0,100% 0,100% 100%,0 100%);clip-path:polygon(6% 0,100% 0,100% 100%,0 100%);margin:0;border-radius:0}code::-webkit-scrollbar,pre::-webkit-scrollbar{height:6px}::-webkit-scrollbar-corner{background:unset}.hljs{display:block;background:#1e1e1e;color:#dcdcdc;line-height:1.5;max-height:25rem;border-radius:var(--radius);overflow:auto;padding-top:2.5rem}.hljs-ln-n:before{content:attr(data-line-number)}.hljs:before{content:" ";position:absolute;border-radius:50%;background:#fc625d;width:.6875rem;height:.6875rem;left:1.375rem;top:.9rem;box-shadow:1.25rem 0 #fdbc40,2.5rem 0 #35cd4b;z-index:2}.hljs-ln{margin:1rem .5rem}.hljs-ln-numbers{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;color:#ccc;border-right:1px solid #ccc;vertical-align:top}.hljs .hljs-ln td{padding:0 10px}.hljs-ln-code{padding-left:10px}.hljs-keyword,.hljs-link,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212}.hljs-addition,.hljs-deletion{display:inline-block;width:100%}.hljs-deletion{background-color:#600}.post-comment,.post-ctx{border:1px solid #e9ecef;background-color:var(--bs-white);min-height:10rem;border-radius:var(--radius);color:var(--bs-dark);padding:2rem;word-break:break-all}.post-noimg-nav .post-info{margin:.85rem 2px 0;letter-spacing:1px;font-size:.7rem}.post-nav,.post-noimg-nav{font-size:.85rem;display:flex;align-items:center;font-weight:200}.post-nav>.item+.item:before{display:inline-block;padding:0 .5rem;color:#b5b5b5;content:"/"}.card-style-footer svg,.post-nav svg,.post-noimg-nav svg{color:var(--bs-primary)}#post{line-height:2.3rem;letter-spacing:.3px;font-family:var(--bs-font-sans-serif)}#post img{max-width:100%}#post code:not(.hljs){border-radius:var(--radius);background-color:var(--bs-primary_opacity_1);color:var(--bs-primary);font-family:initial;padding:.25rem .5rem}.hljs-codeblock{position:relative;max-height:25rem;overflow:unset;border-radius:var(--radius)}.hljs-control{position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:all .2s ease;white-space:nowrap;width:100%;height:2.5rem;background-color:var(--bs-dark);border-top-left-radius:6px;border-top-right-radius:6px}.hljs-codeblock:hover .hljs-control>[type=button]{opacity:1}.hljs-control>[type=button]:nth-child(2){position:absolute;right:1rem;opacity:0}.hljs-control>[type=button]:first-child{position:absolute;right:3rem;opacity:0}.hljs-control-copy,.hljs-control-toggle-break-line{display:inline-block;opacity:.8;transition:all .2s ease;cursor:pointer}.toastify.info{align-items:center;display:inline-flex}.toastify.info svg{margin-right:.5rem}#TOC-btn{position:fixed;right:1rem;background-color:var(--bs-white);bottom:50%;border-radius:6px;z-index:10;-webkit-writing-mode:tb;-ms-writing-mode:tb;writing-mode:tb;cursor:pointer}#TOC-btn:hover .TOC-ctx{visibility:visible;opacity:1;transform:scaleX(-1)}#TOC-btn svg{vertical-align:baseline}.TOC-ctx{min-height:18rem;position:absolute;left:-5px;top:0;box-shadow:0 4px 8px rgba(31,45,61,.2);background:#fff;padding:.75rem;border-radius:.5rem;transform-origin:0 -5px;transform:scaleX(0);opacity:0;visibility:hidden;transition:.25s;max-height:22rem;overflow-y:auto}.TOC-text{transform:scaleX(-1)}.toc-list{margin:0;padding-left:10px;list-style-type:none;-webkit-writing-mode:horizontal-tb;-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;line-height:2.1}.toc-list-item{width:14rem;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;word-break:break-all}.toc-list-item a{color:currentColor;text-decoration:none}.is-active-li>a{color:var(--bs-primary)}.is-active-link:before{content:"";background-color:var(--bs-primary_opacity_1);display:block;height:2.1rem;left:0;position:absolute;width:100%;border-left:2px solid var(--bs-primary);z-index:-1;box-sizing:border-box;border-radius:4px}.is-collapsible{max-height:40rem;overflow:hidden;transition:all .3s ease-in-out}.is-collapsed{max-height:0}#post img.emoji,img.emoji{width:auto;height:2rem}#post h1:before,#post h2:before,#post h3:before,#post h4:before,#post h5:before,#post h6:before{display:block;content:" ";height:4rem;margin-top:-4rem;visibility:hidden;z-index:-1}#post h1{font-size:2rem;margin-bottom:.58rem;margin-top:.58rem;line-height:1}#post h2{font-size:1.6rem;margin-bottom:.875rem;margin-top:1.75rem;line-height:1.1}#post h3{font-size:1.3rem;margin-bottom:1.07692rem;margin-top:1.07692rem}#post h4{font-size:1.2rem;margin-bottom:1.16667rem;margin-top:1.16667rem}#post h5{font-size:1.1rem;margin-bottom:1.27273rem;margin-top:1.27273rem}#post h6{font-size:1rem;margin-bottom:1.4rem;margin-top:1.4rem}#post table:not(.hljs-ln){width:100%}#post table pre{white-space:pre-wrap}#post td:not(.hljs-ln-line),#post th:not(.hljs-ln-line){font-size:1em;padding:.7em;border:1px solid #e6e6e6;line-height:1.4}#post tfoot tr,#post thead tr{background-color:#f5f5f5}#post th:not(.hljs-ln-line)[align=center]{text-align:center}#post tfoot td,#post tfoot th,#post thead td,#post thead th{font-size:.9em;padding:.77778em}#post table:not(.hljs-ln) tbody tr,#post tfoot td code,#post tfoot th code,#post thead td code,#post thead th code{background-color:#fff}.next{text-align:center}.comment-card{padding-top:1.25em;position:relative;display:block;scroll-margin-top:4rem}.comment-card .comment-info{overflow:hidden;padding-bottom:.5em;border-bottom:1px dashed #f5f5f5}.comment-card .comment-head{line-height:1.5;margin-top:0;display:inline-flex;align-items:center}.comment-card .comment-info .comment-meta{line-height:1;position:relative;display:flex;justify-content:space-between}.comment-card .comment-head .comment-nick{position:relative;font-size:.875em;font-weight:500;margin-right:.4em;cursor:pointer;text-decoration:none;display:inline-block}.comment-card.comment-parent:after{padding-top:100px;margin-top:-100px}.comment-reply-link a{font-size:.85rem;color:inherit;text-decoration:none;display:inline-flex;align-items:center}.comment-system{padding:.2em .5em;font-size:.75rem;border-radius:.2em;margin-right:.3em;color:#b3b3b3}.comment-system svg{width:.75rem;height:.75rem;margin-right:3px}.comment-card.comment-parent:not(.comment-child)>.comment-quote{padding-left:3rem;border-left:1px dashed hsla(0,0%,93%,.5)}ol.comment-list{padding:unset}.comment-card.comment-child{padding-top:unset}.comment-card .comment-avatar{width:3.125em;height:3.125em;float:left;border-radius:50%;margin-right:.7525em;border:1px solid #f5f5f5;padding:.125em}.comment-quote .comment-list>.comment-card.comment-child .comment-avatar{width:2.225em;height:2.225em}.comment-card .comment-info .comment-time{font-size:.75em;margin-right:.875em;color:#b3b3b3}.comment-card .comment-info .comment-meta .comment-replay{font-size:.8125em;color:var(--bs-primary);cursor:pointer;float:right}.comment-card .comment-content{word-wrap:break-word;word-break:break-all;font-size:.875em;line-height:2;position:relative;margin-bottom:.75em;padding-top:.625em}.comment-card:last-child .comment-info{border-bottom:none}.comment-input-warp{border:1px solid #f0f0f0;border-radius:var(--radius);margin-bottom:10px;overflow:hidden;position:relative;padding:0 10px 10px}.comment-input{background:0 0;resize:none;outline:0;max-width:100%;font-size:.775em;padding:.75rem 1rem;border:none;border-bottom:1px dashed #dedede}#subheading .post-info{font-size:1rem;font-weight:200;margin:0 .5rem;display:inline-flex;align-items:center}.comment-edit{position:relative;padding-top:10px}.comment-textarea{width:100%;min-height:8.75em;font-size:.875em;background:0 0;resize:vertical;transition:all .25s ease;border:none;padding:.25rem}.comment-input-warp label:focus-within{border-bottom-color:var(--bs-danger)}#cancel-comment-reply-link{display:inline-flex!important;align-items:end;color:var(--bs-primary)}.OwO{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.emoji{width:auto;height:2rem}#btnParse{cursor:pointer}.OwO .OwO-body::-webkit-scrollbar{width:6px;height:6px}.OwO .OwO-body::-webkit-scrollbar-track{border-radius:3px;background:rgba(0,0,0,.06);box-shadow:inset 0 0 5px rgba(0,0,0,.08)}.OwO .OwO-body::-webkit-scrollbar-thumb{border-radius:3px;background:rgba(0,0,0,.12);box-shadow:inset 0 0 10px rgba(0,0,0,.2)}.OwO-body{max-height:0;overflow:hidden;font-size:0;text-align:left}.OwO-body,.OwO-open .OwO-body{transition:max-height .5s;transform:translateZ(0)}.OwO-open .OwO-body{max-height:200px!important;margin:10px 0!important;overflow-y:auto}.OwO.OwO-open .OwO-logo{border-radius:4px 4px 0 0;border-bottom:none;color:#444}.OwO.OwO-up .OwO-body{top:inherit;bottom:21px;border-radius:4px 4px 4px 0}.OwO.OwO-up .OwO-body .OwO-bar .OwO-packages li:first-child{border-radius:0}.OwO.OwO-up.OwO-open .OwO-logo{border-radius:0 0 4px 4px;border:1px solid #ddd;border-top:none}.OwO .OwO-body{width:400px;background:#fff;top:21px;border-radius:0 4px 4px 4px}.OwO .OwO-body .OwO-items{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:none;padding:10px;margin:0;font-size:0}.OwO .OwO-body .OwO-items .OwO-item{list-style-type:none;background:#f7f7f7;padding:5px 10px;border-radius:5px;display:inline-block;font-size:12px;line-height:14px;margin:0 10px 12px 0;cursor:pointer;transition:.3s}.OwO .OwO-body .OwO-items .OwO-item:hover,.dark-mode .OwO .OwO-body .OwO-items .OwO-item:hover{transform:scale(1.3);background:unset}.OwO .OwO-body .OwO-items-emoji .OwO-item{font-size:20px;line-height:19px}.OwO .OwO-body .OwO-items-image .OwO-item{max-width:calc(25% - 10px);box-sizing:border-box}.OwO .OwO-body .OwO-items-image .OwO-item img{max-width:100%;height:2rem}.OwO .OwO-body .OwO-items-show{display:block}.OwO .OwO-body .OwO-bar{text-align:center}.OwO .OwO-body .OwO-bar .OwO-packages{margin:0;padding:0;font-size:0}.OwO .OwO-body .OwO-bar .OwO-packages li{list-style-type:none;display:inline-block;line-height:30px;font-size:14px;padding:0 10px;cursor:pointer;margin-right:3px;border-radius:100px}.OwO .OwO-body .OwO-bar .OwO-packages li:hover{background:#eee}.OwO .OwO-body .OwO-bar .OwO-packages .OwO-package-active{background:#eee;transition:.3s}.All_Pagination{padding:0;text-align:center;width:100%;margin-bottom:2rem}.All_Pagination li a{text-decoration:none;display:inline-block;transition:all .4s;height:40px;line-height:40px;margin:10px 5px 0;padding:0;text-align:center;width:40px;color:var(--bs-dark);border-radius:6px}.All_Pagination li{display:inline;margin:0;padding:0}.All_Pagination ul{margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:0 0}.All_Pagination .active1 a,.All_Pagination li a:hover{background-color:var(--bs-primary);color:var(--bs-white)!important}#comment-list,#comments{scroll-margin-top:3rem}.photos{width:100%;max-width:100%;display:flex;position:relative}.photos a{display:block;flex:1;border:none;margin:3px}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem;margin:1rem 0}.accordion,.tabs{margin:1rem 0;padding:0;list-style:none}.accordion-title{padding:.25rem 1rem}.tabs .nav-link{padding:.4rem;flex:1;text-align:center;background-color:var(--bs-primary_opacity_1);border-radius:unset}.tabs .nav-link:first-of-type:not(:last-of-type){border-radius:var(--radius) 0 0 0}.tabs .nav-link:last-of-type:not(:first-of-type){border-radius:0 var(--radius) 0 0}.tabs .tab-content>.tab-pane{margin:1rem;line-height:2.3rem;letter-spacing:.3px}.tabs{border:1px solid #dde2e6;border-radius:var(--radius)}.tabs .nav-tabs,.tabs .nav-tabs .nav-link,.tabs .nav-tabs .nav-link.active,.tabs .nav-tabs .nav-link:hover{border:unset}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid var(--bs-secondary);background:var(--bs-light);border-radius:var(--radius)}blockquote p{margin:0}#post [role=button]{margin-bottom:1rem}.bilibili{position:relative;width:100%;height:0;padding-bottom:75%}.bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.reply2view{border:0;padding:2rem;text-align:center;font-weight:500;background:#f0f0f0 repeating-linear-gradient(-45deg,#fff,#fff 1.125rem,transparent 0,transparent 2.25rem)}darkb-text,darkb-text *{background-color:#12121c;color:#12121c;text-shadow:none;transition:color .3s}darkb-text:active,darkb-text:hover{color:var(--bs-white)}blur-text,blur-text *{text-shadow:rgba(0,0,0,.701961) 0 0 10px;color:transparent}.dark-mode blur-text,.dark-mode blur-text *{text-shadow:hsla(0,0%,100%,.702) 0 0 10px;color:transparent}rainbow-text,rainbow-text *{background-image:linear-gradient(270deg,#ff4500,orange,gold,#90ee90,#0ff,#1e90ff,#9370db,#ff69b4,#ff4500);background-size:110vw;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-animation:rainbowan 60s linear infinite;animation:rainbowan 60s linear infinite}@-webkit-keyframes rainbowan{to{background-position:-2000vw}}@keyframes rainbowan{to{background-position:-2000vw}}#echarts-post,#echarts-sort,#echarts-tags{min-width:100%;min-height:18rem}.card-counter{margin:5px;padding:20px 10px;background-color:#fff;height:6.5rem;border-radius:var(--radius);transition:all .3s linear;position:relative}.card-counter.primary{background-color:var(--bs-primary_opacity_9);color:#fff}.card-counter.danger{background-color:var(--bs-danger_opacity_9);color:#fff}.card-counter.success{background-color:var(--bs-success_opacity_9);color:#fff}.card-counter.info{background-color:var(--bs-info_opacity_9);color:#fff}.card-counter svg{width:5rem;height:5rem;opacity:.2}.card-counter .count-numbers{position:absolute;right:35px;top:20px;font-size:32px;display:block}.card-counter .count-name{position:absolute;right:35px;top:65px;font-style:italic;text-transform:capitalize;opacity:.5;display:block;font-size:18px}.archives-list{margin-top:1rem;line-height:2}.archives-list a{transition:all .4s}.archives-list a:hover{color:var(--bs-primary);background-color:var(--bs-light);border-radius:var(--radius)}.timeline ol{list-style:none}#footer p,.timeline p{margin:0}ul.timeline{list-style-type:none;position:relative;padding-left:1.5rem}ul.timeline:before{content:" ";background:var(--bs-primary_opacity_2);display:inline-block;position:absolute;left:.4rem;width:3px;height:100%}ul.timeline li{margin-bottom:1.5rem;padding-left:.5rem}ul.timeline li:before{content:" ";background:#fff;display:inline-block;position:absolute;border-radius:50%;border:3px solid var(--bs-primary);left:0;width:1rem;height:1rem}.timeline-text{background:var(--bs-light);padding:1rem;border-radius:var(--radius);line-height:1.5rem;letter-spacing:.3px;font-size:.875rem}.photos img,.timeline-text img:not(.emoji){height:auto;max-width:100%}#footer a{text-decoration:none;color:var(--bs-primary)}#footer{line-height:1.8rem;letter-spacing:.3px}#footer .small{font-size:.7rem}#collapseMoney img{width:240px}.friends-img{width:4rem;height:4rem;border-radius:100%;border:1px solid var(--bs-dark)}.friends-card{display:flex;width:auto;align-items:center;margin-bottom:1rem;padding:.75rem;border-radius:var(--radius);transition:all .3s}.friends-card:hover{background-color:var(--bs-primary_opacity_1)}.friends-name,.friends-text{overflow:hidden;display:-webkit-box;text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical;white-space:pre-line}.friends-text{font-size:80%}.card-style{color:var(--bs-dark);margin-bottom:1.9rem}.card-style-img{border-top-left-radius:6px;border-top-right-radius:6px;-o-object-fit:cover;object-fit:cover;background-position-x:center;background-position-y:center;background-size:cover;overflow:hidden;width:100%;height:10rem}.card-style-tags{font-size:12px;position:relative;margin:0 1rem .5rem}.card-style-tags-link:before{content:" ";position:absolute;border-radius:50%;background:var(--bs-primary);width:.6875rem;height:.6875rem;left:-1rem;top:2px}.card-style-title{min-height:48px;max-height:48px;font-size:1rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2}.card-style-body{padding:1rem;position:relative}.card-style-footer{border-top:1px solid rgba(0,0,0,.125);padding:.5rem 1rem;display:flex;font-size:12px;justify-content:space-between}.card-style-box{transition:all .3s cubic-bezier(.215,.61,.355,1)}.card-style-box:hover{transform:translateY(-5px);box-shadow:0 34px 20px -24px rgba(136,161,206,.3)}.card-style>.card,.copyright{border-radius:var(--radius)}.copyright{background-color:var(--bs-light);line-height:1.5rem;padding:1rem}.copyright-text{font-size:12px;margin-left:.5rem}#postTop{margin-bottom:2rem;position:relative}#postTop .carousel-item{height:14.5rem}#postTop .carousel-caption{z-index:2}#postTop .carousel-item img{height:100%;-o-object-fit:cover;object-fit:cover;background-position-x:center;background-position-y:center;background-size:cover;width:100%;border-radius:var(--radius);-webkit-filter:brightness(.7);filter:brightness(.7)}.carousel-item>a>*{opacity:0;transform:translateY(2rem);transition:all .2s}.carousel-item.active>a>*{opacity:1;transform:none}.carousel-item>a>:first-child{transition-delay:.2s}.carousel-item>a>:nth-child(2){transition-delay:.3s}.carousel-item h4{font-size:2rem}.top-post-info{margin:.8rem 0}.top-post-info>.post-info{font-size:12px;font-weight:200;margin:0 .2rem;display:inline-flex;align-items:center}.top-post-info svg{width:14px;height:14px}@media screen and (max-width:768px){.article.have-img:hover .article-img img{transform:unset}.article.no-img .article-description{-webkit-line-clamp:2;min-height:unset}.article.no-img .article-ctx{padding:1.25rem}.article.no-img .article-title{font-size:1.25rem}.article.have-img .article-img.img-left{-webkit-clip-path:unset;clip-path:unset}.article.have-img .article-img.img-right{-webkit-clip-path:unset;clip-path:unset;display:flex;align-items:center;margin:.5rem 0 .5rem .5rem}.article.have-img.flex-row-reverse .article-img.img-left,.article.have-img.flex-row-reverse .article-img.img-right{-webkit-clip-path:unset;clip-path:unset;display:flex;align-items:center;margin:.5rem .5rem .5rem 0}}@media screen and (min-width:576px) and (max-width:768px){.article.have-img:hover .article-img img{transform:unset}.article:not(.card-style){height:10.5rem;background-color:var(--bs-white);color:var(--bs-dark)}.article.have-img .article-img.img-left,.article.have-img .article-img.img-right,.article.have-img.flex-row-reverse .article-img.img-left,.article.have-img.flex-row-reverse .article-img.img-right{-webkit-clip-path:unset;clip-path:unset}}@media (max-width:576px){.dark-mode .article:not(.card-style){background-color:#1f1b24}.top-post-info>.post-info:last-child,.top-post-info>.post-info:nth-child(3){display:none}#postTop .carousel-item{height:10rem}.carousel-caption{padding:0;right:10%;left:10%}.article:not(.card-style){height:8.5rem;background-color:var(--bs-white);color:var(--bs-dark);margin-bottom:1rem}[data-bgimg=no]{margin-top:5rem}.article.no-img{height:10.5rem}.article.no-img .article-views,.comment-system>span,.post-noimg-nav>.post-info:last-child{display:none}.All_Pagination li a{height:30px;line-height:30px;margin:10px 2px 0;width:30px}.post-comment,.post-ctx{padding:1rem}#content:not(.cardMode){padding-right:0;padding-left:0;min-height:unset}.comment-system{margin:0 5px;padding:0}.comment-system svg{width:1rem;height:1rem;margin-right:0}.comment-card.comment-parent:not(.comment-child)>.comment-quote{padding-left:1rem}.OwO .OwO-body .OwO-items-image .OwO-item{max-width:unset}.hero-box{height:20rem!important}.has-img{padding-left:1rem;padding-right:1rem}.has-img svg{color:var(--bs-white)}#heading{font-size:1.5rem;padding:0 1rem}#subheading .post-info{font-size:12px}.card-style-body{padding:.5rem}.card-style-img{height:8rem}.card-style-title{min-height:20px;max-height:20px;font-size:14px;-webkit-line-clamp:1}.card-style{margin-bottom:1rem;padding-left:5px;padding-right:5px}.waves-area .waves-svg{height:3rem}#header,#postTop{margin-bottom:1rem}.carousel-item h4{font-size:1.5rem;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;word-break:break-all}}@media screen and (min-width:576px) and (max-width:768px){.article.have-img .article-description{min-height:unset}.article.have-img .article-ctx{padding:1.25rem}.article.have-img .article-vs{display:flex}.article.have-img .article-views,.article.have-img .blur-img{display:none}.article.have-img .article-description,.article.have-img .article-info,.article.have-img .article-title{text-shadow:unset}.article.have-img .article-description{-webkit-line-clamp:2}.article.have-img .article-title{font-size:1.25rem}.article.have-img .article-img img,.article.have-img.no-bg-img .article-img img{border-radius:var(--radius)}.article.have-img.flex-row-reverse .article-img{margin:.75rem .75rem .75rem 0}.article.have-img .article-img{margin:.75rem 0 .75rem .75rem}.article.have-img.no-bg-img.flex-row-reverse .article-img{margin:.75rem .75rem .75rem 0}.article.have-img.no-bg-img .article-img{margin:.75rem 0 .75rem .75rem}}@media (max-width:576px){.article.have-img .article-img,.article.have-img.no-bg-img .article-img{-webkit-clip-path:unset;clip-path:unset;display:flex;align-items:center;margin:.5rem 0 .5rem .5rem}.article.have-img.flex-row-reverse .article-img,.article.have-img.no-bg-img.flex-row-reverse .article-img{margin:.5rem .5rem .5rem 0}.article.have-img .article-img img{border-radius:var(--radius);width:80px;height:80px}#NextButton{width:auto}.article.have-img .article-ctx{padding:1rem;min-width:calc(100% - 80px - .5rem)}.article.have-img .article-title{font-size:18px;font-weight:700}.article.have-img .article-info{letter-spacing:unset;font-size:.75rem;flex-direction:column;line-height:1.8}.article.have-img .article-vs{display:flex;justify-content:space-between}.article.have-img .article-time,.article.have-img .blur-img{display:none}.article.have-img .article-description{display:-webkit-box;font-size:12px;line-height:unset;min-height:auto}.article.have-img .article-description,.article.have-img .article-info,.article.have-img .article-title{text-shadow:unset}}@media (min-width:768px){.navbar{padding:0}}#sky{z-index:999999999;background-image:linear-gradient(0deg,#fddb92 0,#d1fdff 80%)}#sky,#sky:before{content:"";position:fixed;left:0;right:0;top:0;bottom:0}#sky:before{background-image:linear-gradient(0deg,#30cfd0 0,#330867);opacity:0;transition:opacity 2s ease-out}.dark-mode #sky:before{opacity:1}#sky .planet{position:fixed;left:-50%;top:-50%;width:200%;height:200%;-webkit-animation:rotate 2s cubic-bezier(.7,0,0,1);animation:rotate 2s cubic-bezier(.7,0,0,1);transform-origin:center bottom}@-webkit-keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.dark-mode #sky .sun{opacity:0}.dark-mode #sky .moon{opacity:1}#sky .moon,#sky .sun{position:absolute;border-radius:100%;left:40%;top:35%}#sky .sun{height:64px;width:64px;background:#ffee94;box-shadow:0 0 40px #ffee94;opacity:1}#sky .moon{position:absolute;border-radius:100%;height:50px;width:50px;box-shadow:-1.3em .5em 0 .3em #fff;opacity:0}.hero-box{text-shadow:0 .1875rem .3125rem #1c1f21}.sidebar-banner{position:relative}.sidebar-banner:after{content:"";width:100%;height:40%;position:absolute;bottom:0;left:0;background:linear-gradient(0deg,var(--bs-white),transparent)}.sidebar-box{border:1px solid #e9ecef;background-color:var(--bs-white);min-height:10rem;color:var(--bs-dark);word-break:break-all;border-radius:var(--radius);margin-bottom:1rem}.sidebar-banner{-o-object-fit:cover;object-fit:cover;background-position-x:center;background-position-y:center;background-size:cover;min-height:120px;width:100%;overflow:hidden;border-top-right-radius:6px;border-top-left-radius:6px}.sidebar-avatar{left:50%;transform:translateX(-50%) translateY(-50%);border:4px solid hsla(0,0%,100%,.4);width:68px;height:68px;border-radius:50%}.sidebar-name{padding-top:2.5rem;font-weight:700;text-align:center;padding-bottom:.5rem}.sidebar-info{display:flex;padding:1rem;border-top:1px solid #efefef}.sidebar-categories-number,.sidebar-post-number,.sidebar-tags-number{width:33%;color:var(--bs-primary);text-align:center;letter-spacing:1px;font-size:13px;line-height:16px;font-weight:200}.sidebar-comment-avatar{width:40px;height:40px;border-radius:50%}.sidebar-comment-info{font-size:12px;justify-content:space-between}.sidebar-comment-text{font-size:14px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-all}.sidebar-comment-text .emoji{height:20px;width:auto}.sidebar-rand-item{height:7rem;position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius)}.sidebar-rand-img{top:0;-o-object-fit:cover;object-fit:cover;background-position-x:center;background-position-y:center;background-size:cover}.sidebar-rand-img,.sidebar-rand-info{position:absolute;left:0;right:0;bottom:0}.sidebar-rand-info{z-index:1;background:linear-gradient(180deg,transparent,#000);width:100%}.sidebar-rand-date{font-size:12px;color:#fff}.sidebar-rand-title{font-size:12px;color:#fff!important;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;word-break:break-word}#themeColor{min-width:12.5rem;display:flex}#themeColor label{margin:0 5px}.carousel-caption{bottom:15%;display:flex;flex-direction:column;align-items:center;justify-content:center}.btn-primary:hover{color:#fff;background-color:var(--bs-primary_opacity_9);border-color:var(--bs-primary)}.btn-outline-primary:hover,.btn-primary{color:#fff;background-color:var(--bs-primary);border-color:var(--bs-primary)}.btn-outline-primary{color:var(--bs-primary);border-color:var(--bs-primary)}.bg-primary{background-color:var(--bs-primary)!important}.btn-outline-blue{color:var(--bs-blue);border-color:var(--bs-blue)}.btn-outline-blue:hover{color:#fff;background-color:var(--bs-blue);border-color:var(--bs-blue)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:var(--bs-primary_opacity_9);border-color:var(--bs-primary_opacity_9)}.dark-mode .sidebar-banner:after{background:linear-gradient(0deg,#1f1b24,transparent)}.dark-mode .hljs{background:#000}.dark-mode #mobileAside,.dark-mode #post table:not(.hljs-ln) tbody tr,.dark-mode .article:not(.card-style),.dark-mode .bg-light,.dark-mode .form-control,.dark-mode .hljs-control.hljs-title{background-color:#121212!important}.dark-mode .article:not(.card-style),.dark-mode .post-comment,.dark-mode .post-ctx{border:1px solid #121212}.dark-mode .waves-area .parallax>use:first-child{fill:rgba(0,0,0,.7)}.dark-mode .waves-area .parallax>use:nth-child(2){fill:rgba(0,0,0,.5)}.dark-mode .waves-area .parallax>use:nth-child(3){fill:rgba(0,0,0,.3)}.dark-mode #navMobile svg,.dark-mode tspan{fill:hsla(0,0%,100%,.8)}.dark-mode .bg-blur{background-color:rgba(31,27,36,.8)!important}.dark-mode .reply2view{background:#363636 repeating-linear-gradient(-45deg,#000,#000 1.125rem,transparent 0,transparent 2.25rem)}.dark-mode #TOC-btn,.dark-mode #TOC-btn svg,.dark-mode #footer p,.dark-mode #mobileAside,.dark-mode .archives-title,.dark-mode .aside-pages a,.dark-mode .aside-sort a,.dark-mode .comment-input,.dark-mode .form-control,.dark-mode .modal-content,.dark-mode .nav-tabs .nav-item.show .nav-link,.dark-mode .nav-tabs .nav-link.active,.dark-mode .navbar-light .navbar-brand,.dark-mode .navbar-light .navbar-nav .nav-link:focus,.dark-mode .navbar-light .navbar-nav .nav-link:hover,.dark-mode .navbar-nav svg,.dark-mode .right-btn-icon svg{color:hsla(0,0%,100%,.8)}.dark-mode #TOC-btn,.dark-mode #footer,.dark-mode #musicMobileBox,.dark-mode #musicPop,.dark-mode .OwO .OwO-body,.dark-mode .TOC-ctx,.dark-mode .accordion .card-body,.dark-mode .article.no-bg-img,.dark-mode .article.no-bg-img .article-description,.dark-mode .article.no-bg-img .article-info,.dark-mode .article.no-bg-img .article-title,.dark-mode .article.no-img,.dark-mode .card,.dark-mode .card-style .card,.dark-mode .mobile-right-btn,.dark-mode .modal-content,.dark-mode .post-comment,.dark-mode .post-ctx,.dark-mode .sidebar-box{background-color:#1f1b24!important}.dark-mode #post tfoot tr,.dark-mode #post thead tr,.dark-mode .OwO .OwO-body .OwO-bar .OwO-packages .OwO-package-active,.dark-mode .OwO .OwO-body .OwO-bar .OwO-packages li:hover,.dark-mode .OwO .OwO-body .OwO-items .OwO-item,.dark-mode .accordion>.card,.dark-mode .nav-tabs .nav-item.show .nav-link,.dark-mode .nav-tabs .nav-link.active,.dark-mode .progress{background-color:#3e3e3e!important}.dark-mode hr{background-color:#909090}.dark-mode #post td:not(.hljs-ln-line),.dark-mode #post th:not(.hljs-ln-line),.dark-mode .comment-input-warp,.dark-mode .tabs{border:1px solid #909090}.dark-mode #musicPop:before{border-bottom:5px solid #1f1b24}.dark-mode #musicMobileBox:before{border-top:5px solid #fff}.dark-mode .comment-card .comment-info,.dark-mode .modal-header{border-bottom:1px dashed rgba(0,0,0,.5)}.dark-mode .modal-footer,.dark-mode .sidebar-info{border-top:1px dashed rgba(0,0,0,.5)}.dark-mode .sidebar-box{border:1px solid rgba(0,0,0,.2)}#post h1,#post h2,#post h3,#post h4,#post h5,#post h6,.friends-ctx,body,input,select,textarea{font-family:Roman-55,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,"Noto Serif SC",PingFang SC,Microsoft Yahei UI,Microsoft Yahei,sans-serif}#post h1,#post h2,#post h3,#post h4,#post h5,#post h6{font-weight:900}#heading,#postTop h4,.friends-name{font-weight:700}#postTop h4{font-size:2rem}#header:after{content:"";width:100%;height:10%;position:absolute;bottom:0;left:0;background:linear-gradient(0deg,var(--bs-light),transparent,transparent)}</style><script src="data:application/javascript;charset=utf-8;base64,InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHBvbHlmaWxsKCl7dmFyIG89d2luZG93LHQ9ZG9jdW1lbnQ7aWYoISgic2Nyb2xsQmVoYXZpb3IiaW4gdC5kb2N1bWVudEVsZW1lbnQuc3R5bGUpfHwhMD09PW8uX19mb3JjZVNtb290aFNjcm9sbFBvbHlmaWxsX18pe3ZhciBsLGU9by5IVE1MRWxlbWVudHx8by5FbGVtZW50LHI9e3Njcm9sbDpvLnNjcm9sbHx8by5zY3JvbGxUbyxzY3JvbGxCeTpvLnNjcm9sbEJ5LGVsZW1lbnRTY3JvbGw6ZS5wcm90b3R5cGUuc2Nyb2xsfHxjLHNjcm9sbEludG9WaWV3OmUucHJvdG90eXBlLnNjcm9sbEludG9WaWV3fSxpPW8ucGVyZm9ybWFuY2UmJm8ucGVyZm9ybWFuY2Uubm93P28ucGVyZm9ybWFuY2Uubm93LmJpbmQoby5wZXJmb3JtYW5jZSk6RGF0ZS5ub3cscz0obD1vLm5hdmlnYXRvci51c2VyQWdlbnQsbmV3IFJlZ0V4cChbIk1TSUUgIiwiVHJpZGVudC8iLCJFZGdlLyJdLmpvaW4oInwiKSkudGVzdChsKT8xOjApO28uc2Nyb2xsPW8uc2Nyb2xsVG89ZnVuY3Rpb24oKXt2b2lkIDAhPT1hcmd1bWVudHNbMF0mJighMCE9PW4oYXJndW1lbnRzWzBdKT92LmNhbGwobyx0LmJvZHksdm9pZCAwIT09YXJndW1lbnRzWzBdLmxlZnQ/fn5hcmd1bWVudHNbMF0ubGVmdDpvLnNjcm9sbFh8fG8ucGFnZVhPZmZzZXQsdm9pZCAwIT09YXJndW1lbnRzWzBdLnRvcD9+fmFyZ3VtZW50c1swXS50b3A6by5zY3JvbGxZfHxvLnBhZ2VZT2Zmc2V0KTpyLnNjcm9sbC5jYWxsKG8sdm9pZCAwIT09YXJndW1lbnRzWzBdLmxlZnQ/YXJndW1lbnRzWzBdLmxlZnQ6Im9iamVjdCIhPXR5cGVvZiBhcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOm8uc2Nyb2xsWHx8by5wYWdlWE9mZnNldCx2b2lkIDAhPT1hcmd1bWVudHNbMF0udG9wP2FyZ3VtZW50c1swXS50b3A6dm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTpvLnNjcm9sbFl8fG8ucGFnZVlPZmZzZXQpKX0sby5zY3JvbGxCeT1mdW5jdGlvbigpe3ZvaWQgMCE9PWFyZ3VtZW50c1swXSYmKG4oYXJndW1lbnRzWzBdKT9yLnNjcm9sbEJ5LmNhbGwobyx2b2lkIDAhPT1hcmd1bWVudHNbMF0ubGVmdD9hcmd1bWVudHNbMF0ubGVmdDoib2JqZWN0IiE9dHlwZW9mIGFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06MCx2b2lkIDAhPT1hcmd1bWVudHNbMF0udG9wP2FyZ3VtZW50c1swXS50b3A6dm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowKTp2LmNhbGwobyx0LmJvZHksfn5hcmd1bWVudHNbMF0ubGVmdCsoby5zY3JvbGxYfHxvLnBhZ2VYT2Zmc2V0KSx+fmFyZ3VtZW50c1swXS50b3ArKG8uc2Nyb2xsWXx8by5wYWdlWU9mZnNldCkpKX0sZS5wcm90b3R5cGUuc2Nyb2xsPWUucHJvdG90eXBlLnNjcm9sbFRvPWZ1bmN0aW9uKCl7aWYodm9pZCAwIT09YXJndW1lbnRzWzBdKWlmKCEwIT09bihhcmd1bWVudHNbMF0pKXt2YXIgbz1hcmd1bWVudHNbMF0ubGVmdCx0PWFyZ3VtZW50c1swXS50b3A7di5jYWxsKHRoaXMsdGhpcyx2b2lkIDA9PT1vP3RoaXMuc2Nyb2xsTGVmdDp+fm8sdm9pZCAwPT09dD90aGlzLnNjcm9sbFRvcDp+fnQpfWVsc2V7aWYoIm51bWJlciI9PXR5cGVvZiBhcmd1bWVudHNbMF0mJnZvaWQgMD09PWFyZ3VtZW50c1sxXSl0aHJvdyBuZXcgU3ludGF4RXJyb3IoIlZhbHVlIGNvdWxkIG5vdCBiZSBjb252ZXJ0ZWQiKTtyLmVsZW1lbnRTY3JvbGwuY2FsbCh0aGlzLHZvaWQgMCE9PWFyZ3VtZW50c1swXS5sZWZ0P35+YXJndW1lbnRzWzBdLmxlZnQ6Im9iamVjdCIhPXR5cGVvZiBhcmd1bWVudHNbMF0/fn5hcmd1bWVudHNbMF06dGhpcy5zY3JvbGxMZWZ0LHZvaWQgMCE9PWFyZ3VtZW50c1swXS50b3A/fn5hcmd1bWVudHNbMF0udG9wOnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9+fmFyZ3VtZW50c1sxXTp0aGlzLnNjcm9sbFRvcCl9fSxlLnByb3RvdHlwZS5zY3JvbGxCeT1mdW5jdGlvbigpe3ZvaWQgMCE9PWFyZ3VtZW50c1swXSYmKCEwIT09bihhcmd1bWVudHNbMF0pP3RoaXMuc2Nyb2xsKHtsZWZ0On5+YXJndW1lbnRzWzBdLmxlZnQrdGhpcy5zY3JvbGxMZWZ0LHRvcDp+fmFyZ3VtZW50c1swXS50b3ArdGhpcy5zY3JvbGxUb3AsYmVoYXZpb3I6YXJndW1lbnRzWzBdLmJlaGF2aW9yfSk6ci5lbGVtZW50U2Nyb2xsLmNhbGwodGhpcyx2b2lkIDAhPT1hcmd1bWVudHNbMF0ubGVmdD9+fmFyZ3VtZW50c1swXS5sZWZ0K3RoaXMuc2Nyb2xsTGVmdDp+fmFyZ3VtZW50c1swXSt0aGlzLnNjcm9sbExlZnQsdm9pZCAwIT09YXJndW1lbnRzWzBdLnRvcD9+fmFyZ3VtZW50c1swXS50b3ArdGhpcy5zY3JvbGxUb3A6fn5hcmd1bWVudHNbMV0rdGhpcy5zY3JvbGxUb3ApKX0sZS5wcm90b3R5cGUuc2Nyb2xsSW50b1ZpZXc9ZnVuY3Rpb24oKXtpZighMCE9PW4oYXJndW1lbnRzWzBdKSl7dmFyIGw9ZCh0aGlzKSxlPWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2whPT10LmJvZHk/KHYuY2FsbCh0aGlzLGwsbC5zY3JvbGxMZWZ0K2kubGVmdC1lLmxlZnQsbC5zY3JvbGxUb3AraS50b3AtZS50b3ApLCJmaXhlZCIhPT1vLmdldENvbXB1dGVkU3R5bGUobCkucG9zaXRpb24mJm8uc2Nyb2xsQnkoe2xlZnQ6ZS5sZWZ0LHRvcDplLnRvcCxiZWhhdmlvcjoic21vb3RoIn0pKTpvLnNjcm9sbEJ5KHtsZWZ0OmkubGVmdCx0b3A6aS50b3AsYmVoYXZpb3I6InNtb290aCJ9KX1lbHNlIHIuc2Nyb2xsSW50b1ZpZXcuY2FsbCh0aGlzLHZvaWQgMD09PWFyZ3VtZW50c1swXXx8YXJndW1lbnRzWzBdKX19ZnVuY3Rpb24gYyhvLHQpe3RoaXMuc2Nyb2xsTGVmdD1vLHRoaXMuc2Nyb2xsVG9wPXR9ZnVuY3Rpb24gbihvKXtpZihudWxsPT09b3x8Im9iamVjdCIhPXR5cGVvZiBvfHx2b2lkIDA9PT1vLmJlaGF2aW9yfHwiYXV0byI9PT1vLmJlaGF2aW9yfHwiaW5zdGFudCI9PT1vLmJlaGF2aW9yKXJldHVybiEwO2lmKCJvYmplY3QiPT10eXBlb2YgbyYmInNtb290aCI9PT1vLmJlaGF2aW9yKXJldHVybiExO3Rocm93IG5ldyBUeXBlRXJyb3IoImJlaGF2aW9yIG1lbWJlciBvZiBTY3JvbGxPcHRpb25zICIrby5iZWhhdmlvcisiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBlbnVtZXJhdGlvbiBTY3JvbGxCZWhhdmlvci4iKX1mdW5jdGlvbiBmKG8sdCl7cmV0dXJuIlkiPT09dD9vLmNsaWVudEhlaWdodCtzPG8uc2Nyb2xsSGVpZ2h0OiJYIj09PXQ/by5jbGllbnRXaWR0aCtzPG8uc2Nyb2xsV2lkdGg6dm9pZCAwfWZ1bmN0aW9uIHAodCxsKXt2YXIgZT1vLmdldENvbXB1dGVkU3R5bGUodCxudWxsKVsib3ZlcmZsb3ciK2xdO3JldHVybiJhdXRvIj09PWV8fCJzY3JvbGwiPT09ZX1mdW5jdGlvbiBhKG8pe3ZhciB0PWYobywiWSIpJiZwKG8sIlkiKSxsPWYobywiWCIpJiZwKG8sIlgiKTtyZXR1cm4gdHx8bH1mdW5jdGlvbiBkKG8pe2Zvcig7byE9PXQuYm9keSYmITE9PT1hKG8pOylvPW8ucGFyZW50Tm9kZXx8by5ob3N0O3JldHVybiBvfWZ1bmN0aW9uIGgodCl7dmFyIGwsZSxyLHMsYz0oaSgpLXQuc3RhcnRUaW1lKS80Njg7cz1jPWM+MT8xOmMsbD0uNSooMS1NYXRoLmNvcyhNYXRoLlBJKnMpKSxlPXQuc3RhcnRYKyh0LngtdC5zdGFydFgpKmwscj10LnN0YXJ0WSsodC55LXQuc3RhcnRZKSpsLHQubWV0aG9kLmNhbGwodC5zY3JvbGxhYmxlLGUsciksZT09PXQueCYmcj09PXQueXx8by5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaC5iaW5kKG8sdCkpfWZ1bmN0aW9uIHYobCxlLHMpe3ZhciBuLGYscCxhLGQ9aSgpO2w9PT10LmJvZHk/KG49byxmPW8uc2Nyb2xsWHx8by5wYWdlWE9mZnNldCxwPW8uc2Nyb2xsWXx8by5wYWdlWU9mZnNldCxhPXIuc2Nyb2xsKToobj1sLGY9bC5zY3JvbGxMZWZ0LHA9bC5zY3JvbGxUb3AsYT1jKSxoKHtzY3JvbGxhYmxlOm4sbWV0aG9kOmEsc3RhcnRUaW1lOmQsc3RhcnRYOmYsc3RhcnRZOnAseDplLHk6c30pfX0ib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPXtwb2x5ZmlsbDpwb2x5ZmlsbH06cG9seWZpbGwoKTs="></script><script src="data:application/javascript;base64,IWZ1bmN0aW9uKGwpe3ZhciBjLGgsYSx6LG0sdCx2PSc8c3ZnPjxzeW1ib2wgaWQ9ImJpZGlhbmxpYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTEyIDUxMm0tNDk5LjIgMGE0OTkuMiA0OTkuMiAwIDEgMCA5OTguNCAwIDQ5OS4yIDQ5OS4yIDAgMSAwLTk5OC40IDBaIiBmaWxsPSIjOTI2NmY5IiA+PC9wYXRoPjxwYXRoIGQ9Ik03NTMuNTM2IDQ4OS42bDQ2LjU5Mi00Ni41OTJjMjUuNDcyLTI1LjQ3MiAyNS40NzItNjcuNTg0IDAtOTMuMDU2bC0xMzMuMTItMTMzLjEyYy0yNS40NzItMjUuNDcyLTY3LjU4NC0yNS40NzItOTMuMDU2IDBMNTI3LjM2IDI2My40MjRsMjI2LjE3NiAyMjYuMTc2ek01NjEuMjggMzQ3LjEzNmwxNjcuMTY4IDE2Ny4xNjgtMjMwLjI3MiAyMzAuMjcyYy01NC42NTYgMTEuNzc2LTY2LjQzMi0xNC45NzYtNTkuMTM2LTU5LjEzNi01NS40MjQtNy42OC05Ni43NjgtMzIuMzg0LTEwNi40OTYtOTUuNDg4bDE1NS4zOTItMTUwLjUyOC0xNC4yMDgtMTQuMjA4TDMxNC40OTYgNTc5Ljg0Yy00MC4wNjQgMy4yLTQ4LjUxMi0yMi42NTYtNDIuNDk2LTYxLjU2OEw1MDIuMjcyIDI4OGw1OS4wMDggNTkuMTM2ek0yMzIuNzA0IDY1Ny41MzZMMjA0LjggNzc5Ljc3Nmw0NS4zMTIgNDUuMzEyIDEyMi4yNC0yNy45MDQtMTM5LjY0OC0xMzkuNjQ4eiBtMCAwIiBmaWxsPSIjRkZGRkZGIiA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9ImJpYW9xaWFuIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTEyIDUxMm0tNTA5LjI2OTMzMzMzIDBhNTA5LjI2OTMzMzMzIDUwOS4yNjkzMzMzMyAwIDEgMCAxMDE4LjUzODY2NjY2IDAgNTA5LjI2OTMzMzMzIDUwOS4yNjkzMzMzMyAwIDEgMC0xMDE4LjUzODY2NjY2IDBaIiBmaWxsPSIjMWU5OTY5IiA+PC9wYXRoPjxwYXRoIGQ9Ik0zMDcuMiAyMjAuMDQ2MjIyMjJjLTM1LjA0MzU1NTU1IDAtNjQuNjI1Nzc3NzggMjkuNjk2LTY0LjYyNTc3Nzc4IDY0LjYyNTc3Nzc4djE0OC4zNjYyMjIyMmMwIDM1LjA0MzU1NTU1IDIxLjYxNzc3Nzc4IDgzLjYyNjY2NjY3IDQ1Ljg1MjQ0NDQ1IDEwNy44NjEzMzMzM2wyNTMuMzgzMTExMTEgMjUzLjM4MzExMTEyYzI0LjIzNDY2NjY3IDI0LjIzNDY2NjY3IDY0LjYyNTc3Nzc4IDI0LjIzNDY2NjY3IDg4Ljk3NDIyMjIyIDBsMTg2LjAyNjY2NjY3LTE4Ni4wMjY2NjY2N2MyNC4yMzQ2NjY2Ny0yNC4yMzQ2NjY2NyAyNC4yMzQ2NjY2Ny02NC42MjU3Nzc3OCAwLTg4Ljk3NDIyMjIyTDU2My4zMTM3Nzc3OCAyNjUuODk4NjY2NjdjLTI0LjIzNDY2NjY3LTI0LjIzNDY2NjY3LTcyLjgxNzc3Nzc4LTQ1Ljg1MjQ0NDQ1LTEwNy44NjEzMzMzMy00NS44NTI0NDQ0NUgzMDcuMnogbTgzLjUxMjg4ODg5IDIxMi45OTJjLTM1LjA0MzU1NTU1IDAtNjQuNjI1Nzc3NzgtMjkuNjk2LTY0LjYyNTc3Nzc4LTY0LjYyNTc3Nzc3IDAtMzUuMDQzNTU1NTUgMjkuNjk2LTY0LjYyNTc3Nzc4IDY0LjYyNTc3Nzc4LTY0LjYyNTc3Nzc4IDM1LjA0MzU1NTU1IDAgNjQuNjI1Nzc3NzggMjkuNjk2IDY0LjYyNTc3Nzc4IDY0LjYyNTc3Nzc4IDAuMTEzNzc3NzggMzQuOTI5Nzc3NzgtMjkuNTgyMjIyMjIgNjQuNjI1Nzc3NzgtNjQuNjI1Nzc3NzggNjQuNjI1Nzc3Nzd6IiBmaWxsPSIjRkZGRkZGIiA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InNoaWppYW4iIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik01MTIgNTEybS01MTIgMGE1MTIgNTEyIDAgMSAwIDEwMjQgMCA1MTIgNTEyIDAgMSAwLTEwMjQgMFoiIGZpbGw9IiM0MDlFRkYiID48L3BhdGg+PHBhdGggZD0iTTY1NC4yMjIyMjIgMjU2Yy0xNy4wNjY2NjcgMC0yOC40NDQ0NDQgMTEuMzc3Nzc4LTI4LjQ0NDQ0NCAyOC40NDQ0NDR2NTYuODg4ODg5YzAgMTcuMDY2NjY3IDExLjM3Nzc3OCAyOC40NDQ0NDQgMjguNDQ0NDQ0IDI4LjQ0NDQ0NXMyOC40NDQ0NDQtMTEuMzc3Nzc4IDI4LjQ0NDQ0NS0yOC40NDQ0NDV2LTU2Ljg4ODg4OWMwLTE3LjA2NjY2Ny0xMS4zNzc3NzgtMjguNDQ0NDQ0LTI4LjQ0NDQ0NS0yOC40NDQ0NDR6TTM2OS43Nzc3NzggMjU2Yy0xNy4wNjY2NjcgMC0yOC40NDQ0NDQgMTEuMzc3Nzc4LTI4LjQ0NDQ0NSAyOC40NDQ0NDR2NTYuODg4ODg5YzAgMTcuMDY2NjY3IDExLjM3Nzc3OCAyOC40NDQ0NDQgMjguNDQ0NDQ1IDI4LjQ0NDQ0NXMyOC40NDQ0NDQtMTEuMzc3Nzc4IDI4LjQ0NDQ0NC0yOC40NDQ0NDV2LTU2Ljg4ODg4OWMwLTE3LjA2NjY2Ny0xMS4zNzc3NzgtMjguNDQ0NDQ0LTI4LjQ0NDQ0NC0yOC40NDQ0NDR6IiBmaWxsPSIjRkZGRkZGIiA+PC9wYXRoPjxwYXRoIGQ9Ik03MjUuMzMzMzMzIDMxMi44ODg4ODlINzExLjExMTExMXYyOC40NDQ0NDRjMCAzMS4yODg4ODktMjUuNiA1Ni44ODg4ODktNTYuODg4ODg5IDU2Ljg4ODg4OXMtNTYuODg4ODg5LTI1LjYtNTYuODg4ODg5LTU2Ljg4ODg4OXYtMjguNDQ0NDQ0aC0xNzAuNjY2NjY2djI4LjQ0NDQ0NGMwIDMxLjI4ODg4OS0yNS42IDU2Ljg4ODg4OS01Ni44ODg4ODkgNTYuODg4ODg5cy01Ni44ODg4ODktMjUuNi01Ni44ODg4ODktNTYuODg4ODg5di0yOC40NDQ0NDRoLTE0LjIyMjIyMmMtMjIuNzU1NTU2IDAtNDIuNjY2NjY3IDE5LjkxMTExMS00Mi42NjY2NjcgNDIuNjY2NjY3djM0MS4zMzMzMzNjMCAyMi43NTU1NTYgMTkuOTExMTExIDQyLjY2NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY3aDQyNi42NjY2NjZjMjIuNzU1NTU2IDAgNDIuNjY2NjY3LTE5LjkxMTExMSA0Mi42NjY2NjctNDIuNjY2NjY3di0zNDEuMzMzMzMzYzAtMjIuNzU1NTU2LTE5LjkxMTExMS00Mi42NjY2NjctNDIuNjY2NjY3LTQyLjY2NjY2N3pNNDI2LjY2NjY2NyA2NTQuMjIyMjIyaC01Ni44ODg4ODljLTE3LjA2NjY2NyAwLTI4LjQ0NDQ0NC0xMS4zNzc3NzgtMjguNDQ0NDQ1LTI4LjQ0NDQ0NHMxMS4zNzc3NzgtMjguNDQ0NDQ0IDI4LjQ0NDQ0NS0yOC40NDQ0NDVoNTYuODg4ODg5YzE3LjA2NjY2NyAwIDI4LjQ0NDQ0NCAxMS4zNzc3NzggMjguNDQ0NDQ0IDI4LjQ0NDQ0NXMtMTEuMzc3Nzc4IDI4LjQ0NDQ0NC0yOC40NDQ0NDQgMjguNDQ0NDQ0eiBtMjI3LjU1NTU1NSAwaC01Ni44ODg4ODljLTE3LjA2NjY2NyAwLTI4LjQ0NDQ0NC0xMS4zNzc3NzgtMjguNDQ0NDQ0LTI4LjQ0NDQ0NHMxMS4zNzc3NzgtMjguNDQ0NDQ0IDI4LjQ0NDQ0NC0yOC40NDQ0NDVoNTYuODg4ODg5YzE3LjA2NjY2NyAwIDI4LjQ0NDQ0NCAxMS4zNzc3NzggMjguNDQ0NDQ1IDI4LjQ0NDQ0NXMtMTEuMzc3Nzc4IDI4LjQ0NDQ0NC0yOC40NDQ0NDUgMjguNDQ0NDQ0eiBtMC0xMTMuNzc3Nzc4aC01Ni44ODg4ODljLTE3LjA2NjY2NyAwLTI4LjQ0NDQ0NC0xMS4zNzc3NzgtMjguNDQ0NDQ0LTI4LjQ0NDQ0NHMxMS4zNzc3NzgtMjguNDQ0NDQ0IDI4LjQ0NDQ0NC0yOC40NDQ0NDRoNTYuODg4ODg5YzE3LjA2NjY2NyAwIDI4LjQ0NDQ0NCAxMS4zNzc3NzggMjguNDQ0NDQ1IDI4LjQ0NDQ0NHMtMTEuMzc3Nzc4IDI4LjQ0NDQ0NC0yOC40NDQ0NDUgMjguNDQ0NDQ0eiIgZmlsbD0iI0ZGRkZGRiIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJwaW5nbHVuMSIgdmlld0JveD0iMCAwIDEwMjUgMTAyNCI+PHBhdGggZD0iTTUxMiA1MTJtLTUxMiAwYTUxMiA1MTIgMCAxIDAgMTAyNCAwIDUxMiA1MTIgMCAxIDAtMTAyNCAwWiIgZmlsbD0iI0ZGNUEyMCIgPjwvcGF0aD48cGF0aCBkPSJNMjM4LjQ4MTIzNiA2MjguNDE1MDExVjM3OC42MzEzNDdjMS4xMzAyNDMtMi4yNjA0ODYgMi4yNjA0ODYtMy4zOTA3MjggMi4yNjA0ODYtNS42NTEyMTUgMTIuNDMyNjcxLTQyLjk0OTIyNyA0OC42MDA0NDItNzIuMzM1NTQxIDkzLjgxMDE1NC03Mi4zMzU1NCAxMjIuMDY2MjI1LTEuMTMwMjQzIDI0NC4xMzI0NS0xLjEzMDI0MyAzNjYuMTk4Njc2IDAgNDUuMjA5NzEzIDAgODEuMzc3NDgzIDI4LjI1NjA3MSA5My44MTAxNTQgNzIuMzM1NTQgMS4xMzAyNDMgMi4yNjA0ODYgMi4yNjA0ODYgNC41MjA5NzEgMi4yNjA0ODYgNS42NTEyMTV2MjUyLjA0NDE1bC0zLjM5MDcyOCAxMC4xNzIxODVjLTEzLjU2MjkxNCA0MS44MTg5ODUtNDcuNDcwMTk5IDY3LjgxNDU3LTkxLjU0OTY2OSA2Ny44MTQ1N2gtNjYuNjg0MzI3Yy0xMDIuODUyMDk3LTEuMTMwMjQzLTIwMi4zMTM0NjYgMTkuMjE0MTI4LTI5Ny4yNTM4NjMgNTcuNjQyMzg0LTQuNTIwOTcxIDIuMjYwNDg2LTEwLjE3MjE4NSAzLjM5MDcyOC0xNS44MjM0IDUuNjUxMjE0di02NC40MjM4NDFjLTE0LjY5MzE1Ny02Ljc4MTQ1Ny0yOC4yNTYwNzEtMTEuMzAyNDI4LTM5LjU1ODQ5OS0xOC4wODM4ODUtMjQuODY1MzQyLTExLjMwMjQyOC0zNi4xNjc3Ny0zNS4wMzc1MjgtNDQuMDc5NDctNjEuMDMzMTEzeiBtMjkxLjYwMjY0OS04MS4zNzc0ODNjMjAuMzQ0MzcxIDAgMzYuMTY3NzctMTYuOTUzNjQyIDM2LjE2Nzc3MS0zNy4yOTgwMTQgMC0xOS4yMTQxMjgtMTUuODIzNC0zMi43NzcwNDItMzkuNTU4NDk5LTMyLjc3NzA0Mi0xOS4yMTQxMjggMC0zMy45MDcyODUgMTQuNjkzMTU3LTMzLjkwNzI4NSAzMy45MDcyODUgMS4xMzAyNDMgMjAuMzQ0MzcxIDE4LjA4Mzg4NSAzNy4yOTgwMTMgMzcuMjk4MDEzIDM2LjE2Nzc3MXogbS0xMjYuNTg3MTk2IDBjMTguMDgzODg1IDAgMzMuOTA3Mjg1LTE1LjgyMzQgMzIuNzc3MDQyLTM1LjAzNzUyOCAwLTIwLjM0NDM3MS0xNi45NTM2NDItMzYuMTY3NzctMzcuMjk4MDE0LTM1LjAzNzUyOC0xOC4wODM4ODUgMC0zMi43NzcwNDIgMTYuOTUzNjQyLTMyLjc3NzA0MiAzNy4yOTgwMTQgMi4yNjA0ODYgMTguMDgzODg1IDE4LjA4Mzg4NSAzMi43NzcwNDIgMzcuMjk4MDE0IDMyLjc3NzA0MnogbTI4NS45NTE0MzUtMzMuOTA3Mjg1YzAtMjAuMzQ0MzcxLTE1LjgyMzQtMzYuMTY3NzctMzcuMjk4MDE0LTM1LjAzNzUyOC0xOC4wODM4ODUgMC0zMi43NzcwNDIgMTYuOTUzNjQyLTMyLjc3NzA0MiAzNi4xNjc3NzEgMCAxOC4wODM4ODUgMTYuOTUzNjQyIDMyLjc3NzA0MiAzNi4xNjc3NzEgMzIuNzc3MDQyIDE4LjA4Mzg4NSAwIDMzLjkwNzI4NS0xNS44MjM0IDMzLjkwNzI4NS0zMy45MDcyODV6IiBmaWxsPSIjRkZGRkZGIiA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imh1byIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTE0LjY1NiA1MTJhNDk3LjM0NCA0OTcuMzQ0IDAgMSAwIDk5NC42ODggMCA0OTcuMzQ0IDQ5Ny4zNDQgMCAxIDAtOTk0LjY4OCAweiIgZmlsbD0iI2ZmMDAwMCIgPjwvcGF0aD48cGF0aCBkPSJNMzc0Ljk3NiA4NzIuNjRjLTQ4LjI5OS0xMDAuMDMyLTIyLjU5Mi0xNTcuNDQgMTQuNDIxLTIxMS4zNyA0MC40NDgtNTguOTY2IDUxLjExNS0xMTcuNjExIDUxLjExNS0xMTcuNjExczMxLjY1OSA0MS4zODYgMTkuMTE1IDEwNi4wMDVjNTYuMTQ5LTYyLjcyIDY2LjgxNi0xNjIuMTMzIDU4LjMyNS0yMDAuNDA1IDEyNy4zMTcgODguNzQ2IDE4MS41OSAyODEuMDAyIDEwOC4xODEgNDIzLjM4MUMxMDE2IDY1Mi41MDEgNzIzLjA5MyAzMjMuMiA2NzIuMjc3IDI4NS44NjdjMTYuOTM5IDM3LjMzMyAyMC4wNTQgMTAwLjAzMi0xNC4xMDEgMTMwLjQ3NC01OC4wMjctMjE5Ljg0LTIwMS42NjQtMjY1LjAwMi0yMDEuNjY0LTI2NS4wMDIgMTYuOTYgMTEzLjUzNi02MS43ODEgMjM3LjM5Ny0xMzcuMzQ0IDMzMC4yNC0yLjgxNi00NS4xNjMtNS42MzItNzYuNTQ0LTI5LjQ4My0xMTkuODA4LTUuMzMzIDgyLjE3Ni02OC4zNzMgMTQ5LjI2OS04NS4yOSAyMzEuNDQ1LTIyLjkxMiAxMTEuNjM3IDE3LjIzNyAxOTMuMTczIDE3MC41ODEgMjc5LjQyNHoiIGZpbGw9IiNGRkZGRkYiID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0ibGlzdCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTg5NiAyOTguNjY2NjY3SDM0MS4zMzMzMzNjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ni00Mi42NjY2NjdzMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjYtNDIuNjY2NjY3aDU1NC42NjY2NjdjMjUuNiAwIDQyLjY2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDQyLjY2NjY2N3MtMTcuMDY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3ek04OTYgNTU0LjY2NjY2N0gzNDEuMzMzMzMzYy0yNS42IDAtNDIuNjY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjYtNDIuNjY2NjY3czE3LjA2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY2LTQyLjY2NjY2N2g1NTQuNjY2NjY3YzI1LjYgMCA0Mi42NjY2NjcgMTcuMDY2NjY3IDQyLjY2NjY2NyA0Mi42NjY2NjdzLTE3LjA2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2N3pNODk2IDgxMC42NjY2NjdIMzQxLjMzMzMzM2MtMjUuNiAwLTQyLjY2NjY2Ny0xNy4wNjY2NjctNDIuNjY2NjY2LTQyLjY2NjY2N3MxNy4wNjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2Ni00Mi42NjY2NjdoNTU0LjY2NjY2N2MyNS42IDAgNDIuNjY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY3cy0xNy4wNjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2Njd6TTEyOCAyOTguNjY2NjY3aC04LjUzMzMzM2MtNC4yNjY2NjcgMC00LjI2NjY2NyAwLTguNTMzMzM0LTQuMjY2NjY3LTQuMjY2NjY3IDAtNC4yNjY2NjctNC4yNjY2NjctOC41MzMzMzMtNC4yNjY2NjdzLTQuMjY2NjY3LTQuMjY2NjY3LTQuMjY2NjY3LTQuMjY2NjY2YzAtNC4yNjY2NjctNC4yNjY2NjctNC4yNjY2NjctNC4yNjY2NjYtNC4yNjY2NjcgMC00LjI2NjY2Ny00LjI2NjY2Ny00LjI2NjY2Ny00LjI2NjY2Ny04LjUzMzMzMy00LjI2NjY2Ny00LjI2NjY2Ny00LjI2NjY2Ny00LjI2NjY2Ny00LjI2NjY2Ny04LjUzMzMzNFYyNTZjMC00LjI2NjY2NyAwLTEyLjggNC4yNjY2NjctMTcuMDY2NjY3IDQuMjY2NjY3LTQuMjY2NjY3IDQuMjY2NjY3LTguNTMzMzMzIDguNTMzMzMzLTEyLjggMTIuOC0xMi44IDI5Ljg2NjY2Ny0xNy4wNjY2NjcgNDYuOTMzMzM0LTguNTMzMzMzIDQuMjY2NjY3IDQuMjY2NjY3IDguNTMzMzMzIDQuMjY2NjY3IDEyLjggOC41MzMzMzMgOC41MzMzMzMgOC41MzMzMzMgMTIuOCAxNy4wNjY2NjcgMTIuOCAyOS44NjY2Njd2OC41MzMzMzNjMCA0LjI2NjY2NyAwIDQuMjY2NjY3LTQuMjY2NjY3IDguNTMzMzM0IDAgNC4yNjY2NjctNC4yNjY2NjcgNC4yNjY2NjctNC4yNjY2NjcgOC41MzMzMzNsLTQuMjY2NjY2IDQuMjY2NjY3Yy04LjUzMzMzMyA4LjUzMzMzMy0xNy4wNjY2NjcgMTIuOC0yOS44NjY2NjcgMTIuOHpNMTI4IDU1NC42NjY2NjdoLTguNTMzMzMzYy00LjI2NjY2NyAwLTQuMjY2NjY3IDAtOC41MzMzMzQtNC4yNjY2NjctNC4yNjY2NjcgMC00LjI2NjY2Ny00LjI2NjY2Ny04LjUzMzMzMy00LjI2NjY2N3MtNC4yNjY2NjctNC4yNjY2NjctNC4yNjY2NjctNC4yNjY2NjZjLTguNTMzMzMzLTguNTMzMzMzLTEyLjgtMTcuMDY2NjY3LTEyLjgtMjkuODY2NjY3IDAtNC4yNjY2NjcgMC0xMi44IDQuMjY2NjY3LTE3LjA2NjY2NyA0LjI2NjY2Ny00LjI2NjY2NyA0LjI2NjY2Ny04LjUzMzMzMyA4LjUzMzMzMy0xMi44bDQuMjY2NjY3LTQuMjY2NjY2YzQuMjY2NjY3IDAgNC4yNjY2NjctNC4yNjY2NjcgOC41MzMzMzMtNC4yNjY2NjdzNC4yNjY2NjcgMCA4LjUzMzMzNC00LjI2NjY2N2MxMi44LTQuMjY2NjY3IDI5Ljg2NjY2NyAwIDM4LjQgMTIuOCA0LjI2NjY2NyA0LjI2NjY2NyA4LjUzMzMzMyA4LjUzMzMzMyA4LjUzMzMzMyAxMi44IDQuMjY2NjY3IDQuMjY2NjY3IDQuMjY2NjY3IDEyLjggNC4yNjY2NjcgMTcuMDY2NjY3djguNTMzMzMzYzAgNC4yNjY2NjcgMCA0LjI2NjY2Ny00LjI2NjY2NyA4LjUzMzMzNCAwIDQuMjY2NjY3LTQuMjY2NjY3IDQuMjY2NjY3LTQuMjY2NjY3IDguNTMzMzMzbC00LjI2NjY2NiA0LjI2NjY2N2MtOC41MzMzMzMgOC41MzMzMzMtMTcuMDY2NjY3IDEyLjgtMjkuODY2NjY3IDEyLjh6TTEyOCA4MTAuNjY2NjY3Yy00LjI2NjY2NyAwLTEyLjggMC0xNy4wNjY2NjctNC4yNjY2NjctNC4yNjY2NjcgMC04LjUzMzMzMy00LjI2NjY2Ny0xMi44LTguNTMzMzMzLTguNTMzMzMzLTguNTMzMzMzLTEyLjgtMTcuMDY2NjY3LTEyLjgtMjkuODY2NjY3IDAtNC4yNjY2NjcgMC0xMi44IDQuMjY2NjY3LTE3LjA2NjY2NyA0LjI2NjY2Ny00LjI2NjY2NyA0LjI2NjY2Ny04LjUzMzMzMyA4LjUzMzMzMy0xMi44IDEyLjgtMTIuOCAyOS44NjY2NjctMTcuMDY2NjY3IDQ2LjkzMzMzNC04LjUzMzMzMyA0LjI2NjY2NyAwIDguNTMzMzMzIDQuMjY2NjY3IDEyLjggOC41MzMzMzMgNC4yNjY2NjcgNC4yNjY2NjcgOC41MzMzMzMgOC41MzMzMzMgOC41MzMzMzMgMTIuOCA0LjI2NjY2NyA0LjI2NjY2NyA0LjI2NjY2NyAxMi44IDQuMjY2NjY3IDE3LjA2NjY2N3MwIDEyLjgtNC4yNjY2NjcgMTcuMDY2NjY3Yy00LjI2NjY2NyA0LjI2NjY2Ny00LjI2NjY2NyA4LjUzMzMzMy04LjUzMzMzMyAxMi44LTguNTMzMzMzIDguNTMzMzMzLTE3LjA2NjY2NyAxMi44LTI5Ljg2NjY2NyAxMi44eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0idG91eGlhbmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik02MTQuNzIgNTU0LjUzOGMtNDkuMDg2LTYuMzk5LTEwMC4yNy0yLjEtMTQ5LjI1Ni0yLjEtMTE5LjQ2NSAwLTIwOS4wNCA5NS45NzItMjA2Ljg0IDIxNS40MzcgMCAxNy4wOTUgOC40OTggMzEuOTkgMjMuNDkzIDQwLjQ4OCAxNC44OTYgMTAuNjk3IDM0LjA5IDE0Ljg5NiA1My4yODUgMTcuMDk1IDYxLjg4MiA2LjM5OCAxMjMuNjY0IDYuMzk4IDE5OC4zNDIgNi4zOTggNDAuNDg4IDAgOTMuODcyLTIuMSAxNDIuODU4LTQuMjk4IDI3LjY5MiAwIDUzLjI4NC00LjMgNzguODc3LTE0Ljg5NiAxOS4xOTQtOC40OTggMjkuODktMTkuMTk0IDMxLjk5LTQwLjQ4OCA4LjQ5OC0xMDQuNTctNzIuNDc4LTIwNC44NC0xNzIuNzUtMjE3LjYzNnpNNjgwLjggMzc1LjM5YzAtODcuNDc0LTc0LjY3OC0xNjIuMDUzLTE2NC4yNTEtMTYyLjA1My04OS41NzQgMC0xNjIuMDUzIDc0LjY3OS0xNjIuMDUzIDE2Mi4wNTMtMi4xIDg3LjQ3NCA3NC42NzggMTY0LjI1MiAxNjIuMDUzIDE2NC4yNTIgODkuNjczIDAgMTY0LjI1Mi03NC42NzggMTY0LjI1Mi0xNjQuMjUyeiIgZmlsbD0iI0ZGRkZGRiIgPjwvcGF0aD48cGF0aCBkPSJNNTEyLjM1IDBDMjI4LjczMyAwIDAuNSAyMjguMjMzIDAuNSA1MTEuODVzMjI4LjIzMyA1MTEuODUgNTExLjg1IDUxMS44NSA1MTEuODUtMjI4LjIzMyA1MTEuODUtNTExLjg1Uzc5NS45NjcgMCA1MTIuMzUgMHogbTI3NS4xMiA3NzIuMDc0Yy0yLjEgMjEuMjk0LTEyLjc5NyAzMS45OS0zMS45OTEgNDAuNDg4LTI1LjU5MyAxMC42OTctNTEuMTg1IDE0Ljg5Ni03OC44NzcgMTQuODk2LTQ5LjA4NiAyLjA5OS0xMDIuMzcgNC4yOTgtMTQyLjg1OCA0LjI5OC03NC42NzggMC0xMzYuNDYgMC0xOTguMzQyLTYuMzk4LTE5LjE5NS0yLjEtMzguMzg5LTYuMzk4LTUzLjI4NS0xNy4wOTUtMTQuODk1LTguNDk3LTIzLjQ5My0yMy40OTMtMjMuNDkzLTQwLjQ4OC0yLjEtMTE5LjQ2NSA4Ny40NzUtMjE1LjQzNyAyMDYuODQtMjE1LjQzNyA0OS4wODUgMCAxMDAuMjctNC4yOTkgMTQ5LjI1NiAyLjEgMTAwLjI3IDEyLjg5NiAxODEuMjQ3IDExMy4xNjYgMTcyLjc1IDIxNy42MzZ6TTM1NC40OTUgMzc1LjM5YzAtODcuNDc0IDcyLjQ3OS0xNjIuMDUzIDE2Mi4wNTMtMTYyLjA1M1M2ODAuOCAyODguMDE2IDY4MC44IDM3NS4zOWMwIDg5LjU3NC03NC42NzkgMTY0LjI1Mi0xNjQuMjUyIDE2NC4yNTItODcuMzc1IDAtMTY0LjE1Mi03Ni43NzgtMTYyLjA1My0xNjQuMjUyeiIgZmlsbD0iIzI0OUZGOCIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJ6aXl1YW4iIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik01MTEuODU0NDIxIDBhNTExLjg1NDQyMSA1MTEuODU0NDIxIDAgMSAwIDUxMi4xNDU1NzkgNTExLjg1NDQyMUE1MTEuODU0NDIxIDUxMS44NTQ0MjEgMCAwIDAgNTExLjg1NDQyMSAweiIgZmlsbD0iIzM5QjU0QSIgPjwvcGF0aD48cGF0aCBkPSJNNTc2LjQ5MTMyOCA2MzAuMzU1NDE3bC0xMTYuNDYyODk1IDExNi40NjI4OTRhMTI5LjU2NDk3IDEyOS41NjQ5NyAwIDAgMS0xODIuNTU1NTg3IDBsLTIuMDM4MS0yLjAzODEwMWExMjguOTgyNjU2IDEyOC45ODI2NTYgMCAwIDEgMC0xODIuMjY0NDNsODEuMjMyODY4LTgxLjIzMjg2OGExNzkuNjQ0MDE1IDE3OS42NDQwMTUgMCAwIDAgMTMuMTAyMDc2IDcwLjQ2MDA1MWwtNTIuNjk5NDYgNTIuNDA4MzAyYTY5Ljg3NzczNyA2OS44Nzc3MzcgMCAwIDAgMCA5OC43MDIzMDNsMi4wMzgxMDEgMi4wMzgxMDFhNzAuMTY4ODk0IDcwLjE2ODg5NCAwIDAgMCA5OC43MDIzMDMgMGwxMTYuNDYyODk1LTExNi40NjI4OTRhNjkuODc3NzM3IDY5Ljg3NzczNyAwIDAgMCAwLTk4LjcwMjMwNGwtMi4wMzgxMDEtMi4wMzgxYTY5LjU4NjU3OSA2OS41ODY1NzkgMCAwIDAtMTMuOTc1NTQ3LTEwLjc3MjgxOGw0Mi41MDg5NTYtNDIuNTA4OTU2YTEyOC4xMDkxODQgMTI4LjEwOTE4NCAwIDAgMSAxMy4xMDIwNzYgMTEuMzU1MTMybDIuMDM4MSAyLjAzODFhMTI5LjI3MzgxMyAxMjkuMjczODEzIDAgMCAxIDAgMTgyLjI2NDQzeiIgZmlsbD0iI0ZGRkZGRiIgPjwvcGF0aD48cGF0aCBkPSJNNzQ2LjIzNTk5NyA0NjAuOTAxOTA1bC04MS4yMzI4NjkgODEuMjMyODY5YTE3OS4zNTI4NTggMTc5LjM1Mjg1OCAwIDAgMC0xMy4xMDIwNzYtNzAuNDYwMDUxbDUyLjY5OTQ2LTUyLjQwODMwM2E2OS44Nzc3MzcgNjkuODc3NzM3IDAgMCAwIDAtOTguNzAyMzAzbC0yLjAzODEwMS0yLjAzODEwMWE2OS44Nzc3MzcgNjkuODc3NzM3IDAgMCAwLTk4LjcwMjMwMyAwbC0xMTYuNDYyODk0IDExNi40NjI4OTVhNjkuODc3NzM3IDY5Ljg3NzczNyAwIDAgMCAwIDk4LjcwMjMwM2wyLjAzODEgMi4wMzgxMDFhNjguNDIxOTUxIDY4LjQyMTk1MSAwIDAgMCAxMy45NzU1NDggMTAuNzcyODE3bC00Mi41MDg5NTcgNDIuNTA4OTU3YTEzNi41NTI3NDQgMTM2LjU1Mjc0NCAwIDAgMS0xMy4xMDIwNzYtMTEuMzU1MTMybC0yLjAzODEtMi4wMzgxMDFhMTI4Ljk4MjY1NiAxMjguOTgyNjU2IDAgMCAxIDAtMTgyLjI2NDQzbDExNi40NjI4OTQtMTE2LjQ2Mjg5NGExMjkuNTY0OTcgMTI5LjU2NDk3IDAgMCAxIDE4Mi41NTU1ODcgMGwyLjAzODEwMSAyLjAzODFhMTI4Ljk4MjY1NiAxMjguOTgyNjU2IDAgMCAxIDAgMTgyLjI2NDQzeiIgZmlsbD0iI0ZGRkZGRiIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJmZW54aWFuZzEiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik01MTIgNTEybS01MTIgMGE1MTIgNTEyIDAgMSAwIDEwMjQgMCA1MTIgNTEyIDAgMSAwLTEwMjQgMFoiIGZpbGw9IiNGM0IyNDMiID48L3BhdGg+PHBhdGggZD0iTTYzMC43ODQgMzIzLjU4NG0tOTAuMTEyIDBhOTAuMTEyIDkwLjExMiAwIDEgMCAxODAuMjI0IDAgOTAuMTEyIDkwLjExMiAwIDEgMC0xODAuMjI0IDBaIiBmaWxsPSIjRkZGRkZGIiA+PC9wYXRoPjxwYXRoIGQ9Ik02MzAuNzg0IDY4OC4xMjhtLTkwLjExMiAwYTkwLjExMiA5MC4xMTIgMCAxIDAgMTgwLjIyNCAwIDkwLjExMiA5MC4xMTIgMCAxIDAtMTgwLjIyNCAwWiIgZmlsbD0iI0ZGRkZGRiIgPjwvcGF0aD48cGF0aCBkPSJNMzE5LjQ4OCA1MTJtLTkwLjExMiAwYTkwLjExMiA5MC4xMTIgMCAxIDAgMTgwLjIyNCAwIDkwLjExMiA5MC4xMTIgMCAxIDAtMTgwLjIyNCAwWiIgZmlsbD0iI0ZGRkZGRiIgPjwvcGF0aD48cGF0aCBkPSJNMzQxLjAzNzA1NiA0ODAuMzcwNjg4bDI1Ny4zNDM0ODgtMTc1LjcxODQgMjcuNzEzNTM2IDQwLjU5MTM2LTI1Ny4zMzkzOTIgMTc1LjcxODR6IiBmaWxsPSIjRkZGRkZGIiA+PC9wYXRoPjxwYXRoIGQ9Ik0zNDkuMDUyOTI4IDQ4OC40NTIwOTZsMjUyLjg1NDI3MiAxODIuMTA4MTYtMjguNzI1MjQ4IDM5Ljg4Njg0OC0yNTIuODc0NzUyLTE4Mi4xMDgxNnoiIGZpbGw9IiNGRkZGRkYiID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iSUNQIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNOTAuMjkzMzMzMzMgMzgxLjEyYzcuNTczMzMzMzMgNC40OCAxMy45NzMzMzMzMyAxMC43NzMzMzMzMyAyMS4xMiAxNi4xMDY2NjY2NyAxMC4xMzMzMzMzMyA3LjU3MzMzMzMzIDIwLjM3MzMzMzMzIDE0LjkzMzMzMzMzIDMwLjI5MzMzMzMzIDIyLjI5MzMzMzMzIDE1LjI1MzMzMzMzLTMzLjYgMjkuNzYtNjUuNzA2NjY2NjcgNDUuMDEzMzMzMzMtOTkuMDkzMzMzMzMtMjMuNTczMzMzMzMtNC4xNi00Ny42OC04Ljc0NjY2NjY3LTcyLTEyLjI2NjY2NjY3LTMuMi0wLjQyNjY2NjY3LTguNzQ2NjY2NjcgMy45NDY2NjY2Ny0xMC41NiA3LjQ2NjY2NjY3LTcuMzYgMTQuMTg2NjY2NjctMTMuNjUzMzMzMzMgMjguOC0yMC4yNjY2NjY2NyA0My4zMDY2NjY2Ni00LjE2IDkuMTczMzMzMzMtMy4zMDY2NjY2NyAxNi40MjY2NjY2NyA2LjQwMDAwMDAxIDIyLjE4NjY2NjY3ek0yMTQuODggMjc3LjEyYzI4LjE2LTI0LjMyIDU1LjE0NjY2NjY3LTQ3LjU3MzMzMzMzIDgzLjA5MzMzMzMzLTcxLjc4NjY2NjY3LTIwLjA1MzMzMzMzLTEzLjg2NjY2NjY3LTQwLjMyLTI4LjI2NjY2NjY3LTYxLjIyNjY2NjY3LTQxLjgxMzMzMzMzLTIuNzczMzMzMzMtMS44MTMzMzMzMy0xMC4wMjY2NjY2Ny0wLjUzMzMzMzMzLTEzLjAxMzMzMzMzIDEuOTItMTMuOTczMzMzMzMgMTEuNDEzMzMzMzMtMjcuNTIgMjMuNTczMzMzMzMtNDAuNjQgMzYuMDUzMzMzMzMtMi4yNCAyLjEzMzMzMzMzLTMuNDEzMzMzMzMgNy43ODY2NjY2Ny0yLjEzMzMzMzM0IDEwLjQ1MzMzMzM0IDEwLjg4IDIxLjc2IDIyLjQgNDMuMiAzMy45MjAwMDAwMSA2NS4xNzMzMzMzM3pNMzQ3Ljg5MzMzMzMyIDE4MS4yMjY2NjY2N2MzMC44MjY2NjY2Ny04Ljk2IDYxLjY1MzMzMzMzLTE4LjAyNjY2NjY3IDkyLjU4NjY2NjY4LTI2Ljc3MzMzMzM0IDcuODkzMzMzMzMtMi4yNCA2LjgyNjY2NjY3LTUuODY2NjY2NjcgMy42MjY2NjY2Ni0xMS4zMDY2NjY2Ni0xMC42NjY2NjY2Ny0xOC4yNC0yMC41ODY2NjY2Ny0zNi45MDY2NjY2Ny0zMS45OTk5OTk5OS01NC42MTMzMzMzNC0yLjM0NjY2NjY3LTMuNzMzMzMzMzMtMTAuMTMzMzMzMzMtNy4wNC0xNC40LTYuMDgtMTYuNjQgMy43MzMzMzMzMy0zMi45NiA4Ljk2LTQ5LjE3MzMzMzM0IDE0LjI5MzMzMzM0LTIuOTg2NjY2NjcgMC45Ni02LjcyIDUuNDQtNi44MjY2NjY2NiA4LjMyLTAuNTMzMzMzMzMgMjQuOTYtMC4zMiA1MC4wMjY2NjY2Ny0wLjMyMDAwMDAxIDc1LjA5MzMzMzMzIDUuMDEzMzMzMzMgMC44NTMzMzMzMyA1Ljg2NjY2NjY3IDEuMjggNi41MDY2NjY2NiAxLjA2NjY2NjY3ek0xMzEuMDM5OTk5OTkgNDczLjA2NjY2NjY3Yy0zLjA5MzMzMzMzLTAuNjQtNC4zNzMzMzMzMy0xLjI4LTUuNDM5OTk5OTktMC45Ni0yMC44IDUuMzMzMzMzMzMtNDEuNiAxMC41Ni02Mi4xODY2NjY2NyAxNi43NDY2NjY2Ni0zLjA5MzMzMzMzIDAuOTYtNi41MDY2NjY2NyA3LjA0LTYuNjEzMzMzMzMgMTAuNzczMzMzMzQtMC4zMiAxOC40NTMzMzMzMyAwIDM2LjkwNjY2NjY3IDEuMjc5OTk5OTkgNTUuMjUzMzMzMzMgMC4zMiAzLjg0IDUuMDEzMzMzMzMgOS42IDguNjQgMTAuNTYgMjEuMDEzMzMzMzMgNS41NDY2NjY2NyA0Mi40NTMzMzMzMyA5LjkyIDY0LjIxMzMzMzMzIDE0LjgyNjY2NjY3VjQ3My4wNjY2NjY2N3pNNjEwLjkzMzMzMzMyIDE1Mi4xMDY2NjY2N2MtMS4wNjY2NjY2Ny0xNC43Mi0xLjM4NjY2NjY3LTI5LjU0NjY2NjY3LTMuODQtNDMuOTQ2NjY2NjctNS4zMzMzMzMzMy0zMiAyLjY2NjY2NjY3LTI3LjItMzAuODI2NjY2NjUtMzIuODUzMzMzMzMtMy45NDY2NjY2Ny0wLjY0LTcuODkzMzMzMzMtMS4zODY2NjY2Ny0xMS44NC0yLjAyNjY2NjY3LTI4LjE2LTQuMjY2NjY2NjctMjguMzczMzMzMzMtNC4yNjY2NjY2Ny0zOS44OTMzMzMzNSAyMS4zMzMzMzMzMy03Ljc4NjY2NjY3IDE3LjI4LTE0LjYxMzMzMzMzIDM0Ljg4LTIxLjc1OTk5OTk5IDUxLjk0NjY2NjY3IDM2LjU4NjY2NjY3IDUuMjI2NjY2NjcgNzEuNjggMTAuMTMzMzMzMzMgMTA4LjI2NjY2NjY2IDE1LjM2LTAuMTA2NjY2NjctMi45ODY2NjY2NyAwLjEwNjY2NjY3LTYuNTA2NjY2NjctMC4xMDY2NjY2Ny05LjgxMzMzMzMzek03NzcuMjI2NjY2NjYgMTcyLjhjMC44NTMzMzMzMy0yLjU2LTIuMDI2NjY2NjctNy43ODY2NjY2Ny00LjY5MzMzMzMzLTkuNzA2NjY2NjctMTQuMjkzMzMzMzMtMTAuNDUzMzMzMzMtMjguOC0yMC41ODY2NjY2Ny00My43MzMzMzMzMy0yOS44NjY2NjY2Ni0zLjItMS45Mi0xMC4yNC0xLjkyLTEyLjkwNjY2NjY3IDAuMzItMTkuMiAxNi40MjY2NjY2Ny0zNy42NTMzMzMzMyAzMy42LTU2LjEwNjY2NjY2IDUwLjI0IDMxLjE0NjY2NjY3IDIxLjIyNjY2NjY3IDYwLjY5MzMzMzMzIDQxLjQ5MzMzMzMzIDkxLjMwNjY2NjY2IDYyLjQgOC44NTMzMzMzMy0yNC4yMTMzMzMzMyAxNy45Mi00OC42NCAyNi4xMzMzMzMzMy03My4zODY2NjY2N3pNNTIzLjY3OTk5OTk5IDg4Ni4xODY2NjY2N2M4LjY0IDE4LjU2IDE3LjI4IDM3Ljg2NjY2NjY3IDI2Ljg4IDU2LjUzMzMzMzMzIDEuNiAzLjA5MzMzMzMzIDggNS45NzMzMzMzMyAxMS42MjY2NjY2NyA1LjQ0IDE5LjA5MzMzMzMzLTMuMDkzMzMzMzMgMzguMTg2NjY2NjctNi43MiA1Ni45NjAwMDAwMS0xMS41MiAzLjg0LTAuOTYgOC4zMi03LjQ2NjY2NjY3IDguODUzMzMzMzMtMTEuOTQ2NjY2NjcgMS43MDY2NjY2Ny0xMy40NCAxLjgxMzMzMzMzLTI3LjA5MzMzMzMzIDIuMzQ2NjY2NjYtNDAuNzQ2NjY2NjYgMC4yMTMzMzMzMy02LjkzMzMzMzMzIDAtMTMuODY2NjY2NjcgMC0yMC40OC0zNi40OCA3Ljc4NjY2NjY3LTcwLjcyIDE1LjA0LTEwNi42NjY2NjY2NyAyMi43MnpNNzg1LjMzMzMzMzMzIDgxOC4wMjY2NjY2N2MtNS45NzMzMzMzMy0xNC40LTExLjk0NjY2NjY3LTI4LjgtMTcuODEzMzMzMzQtNDIuOTg2NjY2NjctMzAuNTA2NjY2NjcgMjMuMzYtNTkuNDEzMzMzMzMgNDUuNTQ2NjY2NjctODkuMDY2NjY2NjYgNjguMjY2NjY2NjcgMTcuNDkzMzMzMzMgMTQuNjEzMzMzMzMgMzMuNzA2NjY2NjcgMjguNjkzMzMzMzMgNTAuNzczMzMzMzMgNDEuODEzMzMzMzMgMi43NzMzMzMzMyAyLjEzMzMzMzMzIDEwLjI0IDEuMzg2NjY2NjcgMTMuNzYwMDAwMDEtMC44NTMzMzMzMyAxMS43MzMzMzMzMy03LjI1MzMzMzMzIDIyLjgyNjY2NjY3LTE1LjU3MzMzMzMzIDMzLjgxMzMzMzMzLTIzLjg5MzMzMzM0IDE5LjMwNjY2NjY3LTE0LjQgMTkuMi0xNC41MDY2NjY2NyAxMC4yNC0zNi41ODY2NjY2Ni0wLjc0NjY2NjY3LTEuNzA2NjY2NjctMC45Ni0zLjg0LTEuNzA2NjY2NjctNS43NnpNNTYzLjI1MzMzMzMzIDc2NS4wMTMzMzMzM2MtNjAuNjkzMzMzMzMtMS45Mi0xMTcuMjI2NjY2NjctMTkuMDkzMzMzMzMtMTY1LjIyNjY2NjY3LTU2LjUzMzMzMzMzLTc2LjQ4LTU5LjczMzMzMzMzLTEwNC40MjY2NjY2Ny0xNDEuNDQtOTAuNzczMzMzMzMtMjM1LjIgMTEuODQtODEuODEzMzMzMzMgNjAuOC0xNDEuMTIgMTMzLjk3MzMzMzMzLTE3Ni45NiA1OC42NjY2NjY2Ny0yOC44IDEyMS44MTMzMzMzMy0zNC4zNDY2NjY2NyAxODQuMjEzMzMzMzMtMTAuNTYgNDguNjQgMTguNTYgNzUuMiA1Ni42NCA1NS44OTMzMzMzNCAxMTMuNi0xMi4yNjY2NjY2NyAzNi4wNTMzMzMzMy0zNy45NzMzMzMzMyA2MS4zMzMzMzMzMy02OS4wMTMzMzMzMyA4MS40OTMzMzMzMy0zNi40OCAyMy43ODY2NjY2Ny03NS41MiA0MC0xMjAuMjEzMzMzMzQgMzYuOTA2NjY2NjctNDMuNTItMy4wOTMzMzMzMy02My4zNi0zNS4zMDY2NjY2Ny00Ni43MTk5OTk5OS03NS43MzMzMzMzMyAzLjItNy43ODY2NjY2NyA3Ljg5MzMzMzMzLTE0LjkzMzMzMzMzIDExLjk0NjY2NjY1LTIyLjI5MzMzMzM0LTIyLjUwNjY2NjY3IDIwLjgtNDAuODUzMzMzMzMgNDQuOC00Ni45MzMzMzMzMyA3Ni4wNTMzMzMzNC01LjAxMzMzMzMzIDI2LjM0NjY2NjY3IDkuOTIgNTMuMzMzMzMzMzMgMzQuMzQ2NjY2NjggNjIuNjEzMzMzMzMgMjMuMzYgOC45NiA0Ny41NzMzMzMzMyAxMi4yNjY2NjY2NyA3Mi4zMTk5OTk5OSA5LjI4IDgwLjIxMzMzMzMzLTkuNzA2NjY2NjcgMTQ5LjU0NjY2NjY3LTQyLjY2NjY2NjY3IDIwNy41NzMzMzMzNC05OC45ODY2NjY2NyA2NC4xMDY2NjY2Ny02Mi4xODY2NjY2NyA2Mi44MjY2NjY2Ny0xNjIuMzQ2NjY2NjctNC40OC0yMTguMzQ2NjY2NjYtNTguNjY2NjY2NjctNDguNzQ2NjY2NjctMTI2LjcyLTc2LjM3MzMzMzMzLTIwMy41Mi03OC4yOTMzMzMzNC04Ni44MjY2NjY2Ny0yLjI0LTE2Ni42MTMzMzMzMyAxOS43MzMzMzMzMy0yMzUuNDEzMzMzMzMgNzQuODgtNjguMjY2NjY2NjcgNTQuOTMzMzMzMzMtMTExLjQ2NjY2NjY3IDEyNS42NTMzMzMzMy0xMjYuNTA2NjY2NjcgMjEyLjA1MzMzMzM0LTEwLjU2IDYwLjU4NjY2NjY3LTQuOTA2NjY2NjcgMTIwLjMyIDE2Ljk2IDE3OC40NTMzMzMzMyAyNy43MzMzMzMzMyA3My43MDY2NjY2NyA3Mi41MzMzMzMzMyAxMzMuMzMzMzMzMzMgMTM5LjYyNjY2NjY3IDE3NS4yNTMzMzMzMyA5My4wMTMzMzMzMyA1OC4xMzMzMzMzMyAxOTIuNzQ2NjY2NjcgNjkuMjI2NjY2NjcgMjk2Ljc0NjY2NjY2IDM4LjcyIDkyLjgtMjcuMiAxNTcuMTItODkuOTIgMjAzLjYyNjY2NjY2LTE3Mi45MDY2NjY2NiAxLjQ5MzMzMzMzLTIuNjY2NjY2NjcgMS45Mi01Ljk3MzMzMzMzIDIuODgtOC45Ni0xNC4wOCA5LjcwNjY2NjY3LTI1LjQ5MzMzMzMzIDIxLjIyNjY2NjY3LTM4LjI5MzMzMzMzIDMwLjcyLTYzLjI1MzMzMzMzIDQ2LjcyLTEzNC44MjY2NjY2NyA2Ny4yLTIxMy4wMTMzMzMzMyA2NC43NDY2NjY2NnpNNDYyLjc3MzMzMzMzIDg4My4wOTMzMzMzM2MtMTUuNDY2NjY2NjctMS44MTMzMzMzMy0zMC45MzMzMzMzMy00LjI2NjY2NjY3LTQ2LjA4LTcuNjgtMTYuMjEzMzMzMzMtMy42MjY2NjY2Ny0zMi4xMDY2NjY2Ny04Ljc0NjY2NjY3LTUwLjQ1MzMzMzM0LTEzLjc2IDAgMjIuODI2NjY2NjctMC4yMTMzMzMzMyA0My44NCAwLjMyMDAwMDAxIDY0Ljg1MzMzMzM0IDAuMTA2NjY2NjcgMi43NzMzMzMzMyAzLjczMzMzMzMzIDcuMjUzMzMzMzMgNi42MTMzMzMzMyA4IDE5LjMwNjY2NjY3IDUuMTIgMzguNzIgOS43MDY2NjY2NyA1OC4yMzk5OTk5OSAxMy41NDY2NjY2NiAzLjIgMC42NCA5LjA2NjY2NjY3LTEuNzA2NjY2NjcgMTAuNjY2NjY2NjctNC40OCA5LjYtMTYuMTA2NjY2NjcgMTguMjQtMzIuNjQgMjcuMjAwMDAwMDEtNDkuMDY2NjY2NjYgMy44NC03LjE0NjY2NjY3IDIuMzQ2NjY2NjctMTAuMzQ2NjY2NjctNi41MDY2NjY2Ny0xMS40MTMzMzMzNHpNMTk5LjQxMzMzMzMzIDgyOS40NGMtMS4xNzMzMzMzMyAyLjY2NjY2NjY3IDAuNzQ2NjY2NjcgOC40MjY2NjY2NyAzLjA5MzMzMzM0IDEwLjQ1MzMzMzMzIDE1LjI1MzMzMzMzIDEzLjAxMzMzMzMzIDMxLjA0IDI1LjYgNDYuOTMzMzMzMzMgMzcuODY2NjY2NjcgMi40NTMzMzMzMyAxLjkyIDcuNzg2NjY2NjcgMy4yIDkuNzA2NjY2NjcgMS44MTMzMzMzMyAxOC40NTMzMzMzMy0xMy4yMjY2NjY2NyAzNi4zNzMzMzMzMy0yNi45ODY2NjY2NyA1NC4zOTk5OTk5OS00MC41MzMzMzMzMy0yOS4zMzMzMzMzMy0yMy43ODY2NjY2Ny01Ni45Ni00Ni4xODY2NjY2Ny04Ni42MTMzMzMzMy03MC4xODY2NjY2Ny05LjI4IDIwLjE2LTE4Ljc3MzMzMzMzIDQwLjIxMzMzMzMzLTI3LjUyIDYwLjU4NjY2NjY3ek05My4xNzMzMzMzMyA2NzUuNTJjLTIuMjQgMi4wMjY2NjY2Ny0yLjk4NjY2NjY3IDguNTMzMzMzMzMtMS42MDAwMDAwMSAxMS41MiA4LjEwNjY2NjY3IDE3LjE3MzMzMzMzIDE2Ljg1MzMzMzMzIDM0LjEzMzMzMzMzIDI2LjEzMzMzMzM0IDUwLjc3MzMzMzMzIDEuNzA2NjY2NjcgMy4wOTMzMzMzMyA3LjA0IDYuNzIgMTAuMDI2NjY2NjcgNi4xODY2NjY2NyAyMi4wOC0zLjk0NjY2NjY3IDQ0LjA1MzMzMzMzLTguODUzMzMzMzMgNjUuMTczMzMzMzQtMTMuMjI2NjY2NjdMMTQzLjczMzMzMzMzIDYzMi43NDY2NjY2N2MtMTYuOTYgMTQuMTg2NjY2NjctMzQuMDI2NjY2NjcgMjguMTYtNTAuNTYgNDIuNzczMzMzMzN6IiBmaWxsPSIjRUQ0MjAxIiA+PC9wYXRoPjxwYXRoIGQ9Ik05NzUuOTQ2NjY2NjYgMzM4LjM0NjY2NjY3Yy0xNS40NjY2NjY2Ny0zNS45NDY2NjY2Ny00Ni42MTMzMzMzMy01Mi4wNTMzMzMzMy04MC40MjY2NjY2Ni02Mi42MTMzMzMzNC0yMS4yMjY2NjY2Ny02LjYxMzMzMzMzLTQzLjMwNjY2NjY3LTkuNDkzMzMzMzMtNjUuNjAwMDAwMDEtMTAuMTMzMzMzMzMtMTAuOTg2NjY2NjctMC4zMi0yMS45NzMzMzMzMy0wLjIxMzMzMzMzLTMzLjA2NjY2NjY2IDAuMzItOS44MTMzMzMzMyAwLjQyNjY2NjY3LTE5Ljg0IDEuNDkzMzMzMzMtMjkuNzYgMy45NDY2NjY2NyA1LjMzMzMzMzMzIDEuMjggNDIuOTg2NjY2NjcgMTEuNzMzMzMzMzMgNTkuNDEzMzMzMzQgMjAuMjY2NjY2NjYgMS4xNzMzMzMzMyAwLjY0IDIuMjQgMS4xNzMzMzMzMyAzLjQxMzMzMzMyIDEuODEzMzMzMzQgMjEuNjUzMzMzMzMgMTIuMjY2NjY2NjcgMzQuOTg2NjY2NjcgMzAuODI2NjY2NjcgMzUuODQwMDAwMDEgNTcuMjggMS4wNjY2NjY2NyAzMy45Mi0xMy45NzMzMzMzMyA2MS43Ni0zMy44MTMzMzMzNCA4Ny40NjY2NjY2Ni0wLjY0IDAuODUzMzMzMzMtMS4zODY2NjY2NyAxLjcwNjY2NjY3LTIuMDI2NjY2NjcgMi40NTMzMzMzNC0xOS43MzMzMzMzMyAyNC45Ni00My4yIDQ1Ljk3MzMzMzMzLTY4LjkwNjY2NjY2IDY0Ljc0NjY2NjY2LTQ5LjM4NjY2NjY3IDM1Ljk0NjY2NjY3LTEwMy42OCA2MS43Ni0xNjIuMzQ2NjY2NjcgNzcuMjI2NjY2NjctNDQuNDggMTEuNzMzMzMzMzMtODkuODEzMzMzMzMgMTUuMTQ2NjY2NjctMTM1LjU3MzMzMzM0IDUuMzMzMzMzMzMtNDguMzItMTAuMzQ2NjY2NjctODEuNi01Mi42OTMzMzMzMy02MS45NzMzMzMzMi0xMDQuNTMzMzMzMzMgMy4zMDY2NjY2Ny04Ljc0NjY2NjY3IDYuNjEzMzMzMzMtMTcuNiA5LjkyLTI2LjM0NjY2NjY3LTE2LjMyIDIwLjkwNjY2NjY3LTI4LjU4NjY2NjY3IDQyLjg4LTMxLjU3MzMzMzMzIDY5Ljg2NjY2NjY3LTMuODQgMzUuNzMzMzMzMzMgMTEuMDkzMzMzMzMgNjIuNTA2NjY2NjcgMzguMTg2NjY2NjYgODIuNDUzMzMzMzMgMzMuODEzMzMzMzMgMjQuOTYgNzQuMzQ2NjY2NjcgMzEuMTQ2NjY2NjcgMTE0Ljg4IDMyLjUzMzMzMzM0IDI2LjI0IDAuODUzMzMzMzMgNTIuOC0zLjYyNjY2NjY3IDc5LjA0LTYuMjkzMzMzMzQgNDUuNjUzMzMzMzMtNC42OTMzMzMzMyA4OS4wNjY2NjY2Ny0xOC4xMzMzMzMzMyAxMzEuMi0zNS4zMDY2NjY2NiAzMC4wOC0xMi4yNjY2NjY2NyA1OS40MTMzMzMzMy0yNi4xMzMzMzMzMyA4Ny4xNDY2NjY2Ni00Mi42NjY2NjY2NyAxNy43MDY2NjY2Ny0xMC41NiAzNC42NjY2NjY2Ny0yMi4xODY2NjY2NyA1MC44OC0zNS4zMDY2NjY2NyAzNi4yNjY2NjY2Ny0yOS41NDY2NjY2NyA3MC43Mi02MS4wMTMzMzMzMyA4OS43MDY2NjY2OC0xMDUuMTczMzMzMzMgMTAuNzczMzMzMzMtMjQuOTYgMTcuMDY2NjY2NjctNTAuMzQ2NjY2NjcgNS40Mzk5OTk5OS03Ny4zMzMzMzMzM3oiIGZpbGw9IiMwMzVEQjYiID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iZ3VvaHVpIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNzk1IDI4MmMtMjEtNy00Mi0zMi01Ni00NnMtMjYtNzItMjYtNzJMNTEyIDg5bC0yMDEgNzVzLTEyIDU4LTI2IDcyLTM1IDM5LTU2IDQ2bC0yMCA2czAgMjczIDEzMyA0MDVjMTMyIDEzMyAxNzAgMTMwIDE3MCAxMzBzMzggMyAxNzAtMTMwYzEzMy0xMzIgMTMzLTQwNSAxMzMtNDA1bC0yMC02eiIgZmlsbD0iIzNEMzE3OSIgPjwvcGF0aD48cGF0aCBkPSJNODk0IDYwNmwyOC0yOGMyOC0yOCAxNC0xMjAgMTQtMTIwaC0yMnYtNDJjMC00Mi0zNC03NS00Mi03NXMtMzQgMjAtMzQgMjBsLTkgMTRjLTEzIDk4LTQ2IDI0Ni0xMzUgMzM1LTEyOSAxMjktMTc0IDEzOC0xODEgMTM5bC0xIDEtMS0xYy03LTEtNTItMTAtMTgxLTEzOS04OS04OS0xMjItMjM3LTEzNS0zMzVsLTktMTNzLTI2LTIxLTM0LTIxYy03IDAtNDIgMzMtNDIgNzV2NDJIODhzLTE0IDkyIDE0IDEyMGwyOCAyOHMtMzEtOS00MCAwIDYgNzAgNjAgMTI0IDg4IDcxIDg4IDcxLTQ3LTEtNjcgMTBsLTIxIDEyczcgNjggMTE1IDkxYzgzIDE3IDE3NCAzNyAyMTcgNDRsMTAgMSAxMiAxIDE0LTFjOSA1IDEzMy0yMyAyNDEtNDUgMTA4LTIzIDExNS05MSAxMTUtOTFsLTIxLTEyYy0yMS0xMS02Ny0xMC02Ny0xMHMzNC0xNyA4OC03MSA2OS0xMTUgNjAtMTI0LTQwIDAtNDAgMHoiIGZpbGw9IiNFNThEMkUiID48L3BhdGg+PHBhdGggZD0iTTgxNCAyNjljLTIyLTYtNDQtMzMtNTktNDhzLTI4LTc3LTI4LTc3TDUxMyA2NGwtMjE1IDgwcy0xMyA2Mi0yOCA3Ny0zNyA0MS01OSA0OGwtMjIgN3MwIDQxIDcgOTljMTMgOTggNDYgMjQ2IDEzNSAzMzUgMTI5IDEyOSAxNzQgMTM4IDE4MSAxMzloMmM3LTEgNTItMTAgMTgxLTEzOSA4OS04OSAxMjItMjM3IDEzNS0zMzUgNy01OCA3LTk5IDctOTlsLTIyLTd6IG0tMTEgMTQ0Yy0xNCA5MC00NyAyMDctMTIxIDI4MGwtMTQgMTRjLTQtNC05LTctMTAtNS0yIDQtOSAyLTkgMnYtMTVoLTR2M2gtMnYtNWgtM3YzaC0xdi0zaC0zdjJoLTJ2LTRoLTR2NWgtMnYtNWgtM3Y1aC0ydi02aC02djIybC0zIDMtNC0zLTEtMS01LTFzLTE2LTQtMjMgMGMtNyA1LTE0IDItMTQgMnYtMzJoLTZ2NWgtNHYtOGgtNHY2aC0zdi0xMGgtNnY0aC0zdi03aC02djdoLTd2LTdoLTZ2N2gtNnYtN2gtN3Y3aC01di03aC01djhoLTh2LThoLTd2MzNzLTI0IDMtMjYgMmMtMi0yLTcgMC03IDBsLTEzIDMtMiAxMGgtNGwtMTItMTBjLTQtNC04LTQtOS00bC0xLTF2LTE5aC03di02aC0zdjRoLTN2LTVoLTN2NGgtM3YtNWgtNHY0aC0ydi01aC02djVoLTZ2LTVoLTR2MjRzLTEwLTctMTUtN2MtNCAwLTcgNy04IDExbC00LTRhNTI2IDUyNiAwIDAgMS0xMjEtMjgwYy0xMi03Mi0xMi0xMjUtMTItMTI1bDIwLTdjMjEtNiA0Mi0zMSA1Ni00NXMyNi03MiAyNi03MmwyMDEtNzUgMjAyIDc1czExIDU4IDI1IDcyIDM1IDM5IDU2IDQ2bDIwIDZzMCA1NC0xMiAxMjV6IiBmaWxsPSIjRkFBQTQ2IiA+PC9wYXRoPjxwYXRoIGQ9Ik01MTIgNzguNW0tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNNDkxLjEgODYuMm0tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNNDcwLjMgOTMuOW0tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNNDQ5LjQgMTAxLjZtLTcgMGE3IDcgMCAxIDAgMTQgMCA3IDcgMCAxIDAtMTQgMFoiIGZpbGw9IiNENDg5MzEiID48L3BhdGg+PHBhdGggZD0iTTQyOC41IDEwOS4ybS03IDBhNyA3IDAgMSAwIDE0IDAgNyA3IDAgMSAwLTE0IDBaIiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik00MDcuNyAxMTYuOW0tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNMzg2LjggMTI0LjZtLTcgMGE3IDcgMCAxIDAgMTQgMCA3IDcgMCAxIDAtMTQgMFoiIGZpbGw9IiNENDg5MzEiID48L3BhdGg+PHBhdGggZD0iTTM2NiAxMzIuM20tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNMzQ1LjEgMTQwbS03IDBhNyA3IDAgMSAwIDE0IDAgNyA3IDAgMSAwLTE0IDBaIiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik0zMjQuMiAxNDcuN20tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNMzA0LjEgMTU2LjZtLTcgMGE3IDcgMCAxIDAgMTQgMCA3IDcgMCAxIDAtMTQgMFoiIGZpbGw9IiNENDg5MzEiID48L3BhdGg+PHBhdGggZD0iTTI2Mi41IDI0NC41bS03IDBhNyA3IDAgMSAwIDE0IDAgNyA3IDAgMSAwLTE0IDBaIiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik0yNzkuOSAyMjQuNW0tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNMjIwLjkgMjc1LjRtLTcgMGE3IDcgMCAxIDAgMTQgMCA3IDcgMCAxIDAtMTQgMFoiIGZpbGw9IiNENDg5MzEiID48L3BhdGg+PHBhdGggZD0iTTE5OC4yIDI4My4xbS03IDBhNyA3IDAgMSAwIDE0IDAgNyA3IDAgMSAwLTE0IDBaIiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik0yNDMuNyAyNjJtLTcgMGE3IDcgMCAxIDAgMTQgMCA3IDcgMCAxIDAtMTQgMFoiIGZpbGw9IiNENDg5MzEiID48L3BhdGg+PHBhdGggZD0iTTI5MC45IDIwMS4xbS03IDBhNyA3IDAgMSAwIDE0IDAgNyA3IDAgMSAwLTE0IDBaIiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik0yOTcuOSAxNzguOG0tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNNTMyLjkgODYuMm0tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNNTUzLjcgOTMuOW0tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNNTc0LjYgMTAxLjZtLTcgMGE3IDcgMCAxIDAgMTQgMCA3IDcgMCAxIDAtMTQgMFoiIGZpbGw9IiNENDg5MzEiID48L3BhdGg+PHBhdGggZD0iTTU5NS41IDEwOS4ybS03IDBhNyA3IDAgMSAwIDE0IDAgNyA3IDAgMSAwLTE0IDBaIiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik02MTYuMyAxMTYuOW0tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNNjM3LjIgMTI0LjZtLTcgMGE3IDcgMCAxIDAgMTQgMCA3IDcgMCAxIDAtMTQgMFoiIGZpbGw9IiNENDg5MzEiID48L3BhdGg+PHBhdGggZD0iTTY1OCAxMzIuM20tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNNjc4LjkgMTQwbS03IDBhNyA3IDAgMSAwIDE0IDAgNyA3IDAgMSAwLTE0IDBaIiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik02OTkuOCAxNDcuN20tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNNzE5LjkgMTU2LjZtLTcgMGE3IDcgMCAxIDAgMTQgMCA3IDcgMCAxIDAtMTQgMFoiIGZpbGw9IiNENDg5MzEiID48L3BhdGg+PHBhdGggZD0iTTc2MS41IDI0NC41bS03IDBhNyA3IDAgMSAwIDE0IDAgNyA3IDAgMSAwLTE0IDBaIiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik03NDQuMSAyMjQuNW0tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNODAzLjEgMjc1LjRtLTcgMGE3IDcgMCAxIDAgMTQgMCA3IDcgMCAxIDAtMTQgMFoiIGZpbGw9IiNENDg5MzEiID48L3BhdGg+PHBhdGggZD0iTTgyNS44IDI4My4xbS03IDBhNyA3IDAgMSAwIDE0IDAgNyA3IDAgMSAwLTE0IDBaIiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik03ODAuMyAyNjJtLTcgMGE3IDcgMCAxIDAgMTQgMCA3IDcgMCAxIDAtMTQgMFoiIGZpbGw9IiNENDg5MzEiID48L3BhdGg+PHBhdGggZD0iTTczMy4xIDIwMS4xbS03IDBhNyA3IDAgMSAwIDE0IDAgNyA3IDAgMSAwLTE0IDBaIiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik03MjYuMSAxNzguOG0tNyAwYTcgNyAwIDEgMCAxNCAwIDcgNyAwIDEgMC0xNCAwWiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNNzI4IDM2MGMwLTExLTItMjItNC0zM2EyMDQgMjA0IDAgMCAwLTEwMS0xMzYgMjA4IDIwOCAwIDAgMC05NS0yN2gtMjJsLTMgMWEyMjAgMjIwIDAgMCAwLTE0NSA2NyAyMDIgMjAyIDAgMCAwLTU4IDEzNHYyNmwyIDE1YTIwOCAyMDggMCAwIDAgNTcgMTE3bDEgMSAyIDJ2MWwtMTAgNTItMiAxMyA2IDJjNSAxIDUgMSA1IDUgMCAyIDEgMiAyIDJsMTEgMmMyIDEgMyAxIDMgNHY1bDE4IDJjMiAwIDIgMSAyIDJsMSA1aDMybDEtMTIgMS0yIDUtM3Y3YzAgMiAwIDIgMiAybDkgMSAxIDIgMSA0aDE4bDItMWMxLTIgMi0zIDQtM2gyYzIgMCA0IDEgNCAzbDIgMWgxOWwzLTFjMC0yIDEtMiAyLTJoMTFjMSAwIDIgMCAzIDJsMiAxYTU0MCA1NDAgMCAwIDEgMjEtMWMwLTIgMi0zIDMtMmgyYzMtMSA1IDAgNiAybDIgMWgxN2wxLTYgMTItMXYtOWw2IDR2MmwxIDExaDMyYTg0MyA4NDMgMCAwIDEgMi03bDE0LTJoNXYtN2wyLTIgOS0xYzUtMSA1LTEgNS02bDItMiA5LTJ2LTJsLTExLTU0LTItMTBhMjA5IDIwOSAwIDAgMCA2OC0xMzZsMS0xM3YtMTZsLTEtMnpNNTQ2IDUxOWMtNi0xMC0yMC0xNi0zNS0xNnMtMjggNi0zNSAxNmMtNjQtMTYtMTEwLTc0LTExMC0xNDMgMC04MiA2Ny0xNDcgMTQ5LTE0N3MxNDkgNjYgMTQ5IDE0N2MwIDY5LTUyIDEyNy0xMTggMTQzeiIgZmlsbD0iI0VGOUM0OCIgPjwvcGF0aD48cGF0aCBkPSJNMzk4IDYyMmwtMS00YzAtMiAwLTMtMi0zbC0xOS0yIDEtNWMwLTItMS0zLTMtM2wtMTItMi0xLTJjLTEtNS0xLTUtNS02bC02LTEgMi0xMyAxMC01MyAyLTUgMTQtMjYgMiAxYTIwNyAyMDcgMCAwIDAgMTAxIDQ5YzQgMSA4IDAgMTItM2wtNC0xYzEtOCAxMS0xNSAyMC0xNiAxMCAwIDIwIDYgMjMgMTVsLTMgMXYxbDQgMmgxMGMzNy02IDY5LTIyIDk3LTQ2bDQtMyA1IDggMTAgMjAgMyAxMiAxMCA1NHYzbC04IDJjLTIgMC0yIDEtMiAyLTEgNS0xIDUtNSA1bC05IDJjLTIgMC0yIDEtMiAydjdoLTVsLTE0IDItMiAxdjZoLTMybC0xLTEyLTEtMi02LTN2OWwtMTIgMS0xIDZoLTE3bC0xLTFjLTItMi00LTMtNy0zaC0xYy0yIDAtMyAwLTQgMiAwIDItMSAyLTIgMmE1NDAgNTQwIDAgMCAwLTIxLTJsLTItMWgtMTJsLTIgMS0yIDJoLTE5bC0yLTFjLTEtMi0yLTMtNC0zaC0ybC01IDItMiAyaC0xN2wtMS01LTItMS05LTFjLTEgMC0yIDAtMi0ydi03bC01IDMtMSAyLTEgMTItMzEtMXogbTE5OS01MWwtMiA0djQ1aDJsMjItMWMyIDAgMy0xIDMtM2wxLTMgMS0xIDEyLTJjNS0xIDUtMSA2LTZsMS0yIDEwLTJjMyAwIDUtMiA2LTVsMi0yIDctMXYtMmwtMTMtNjNjMC0yLTEtMy0zLTR2NmE4NTQwIDg1NDAgMCAwIDAgMTAgNTggNDg2IDQ4NiAwIDAgMS0xMSAxbC03LTQ1LTItNWMtMiAxLTMgMy0yIDVsMiAxNSA0IDM0IDIgMWg1djRsLTE5IDItNC00OGMtNCAyLTQgMi00IDZsMiAzNSAxIDExaDd2NGgtMjB2LTRsLTEtMzMtMi02aC0xbC0yIDggMSAzMnY4aDZ2NGgtMTZsLTEtMWE1MjU3IDUyNTcgMCAwIDEtMy00NHogbS0yMzcgMTZsMS0yIDktNTZ2LTZsLTMgNC0xMSA1Ny0xIDcgNCAxYzMgMCA1IDIgNiA1IDAgMiAxIDIgMiAzbDkgMmM1IDEgNSAxIDUgNXYxbDIgMiAxMiAxYzQgMCA2IDIgNiA2bDIgMmgyNHYtNDVsLTEtM2MtMiAwLTMgMS0zIDNsLTEgMzQgMSA3aC0xOHYtNGg2di0zbDEtMzYtMi05LTIgOC0xIDI1LTEgMTFoLTIwdi01aDd2LTFsNC00Ny0xLTItNC0yLTMgNDktMjAtMyAxLTRoNmwxLTIgNi00OGMwLTIgMC0zLTItNWwtMiA1LTUgMzQtMiAxMy0xMi0yeiBtMjA1IDI4aC03bC0yLTItMS0xMnYtM2MxLTIgMC00LTItNWwyLTJoLTFsLTMgM3YxOGgtMTB2LTRjMC0zIDAtNC00LTRsLTEgMTNoLTExbC0xLTEwYy0yLTEtMyAwLTMgMmwtMSAzYy0xIDEtMSAyLTMgMmgtOWMtNSAwLTUgMC02LTUtMS0yLTItMy0zLTJsLTIgOWgtMTFsLTEtMTJjLTQgMS00IDEtNCA0djRoLTEwdi0xOGwtMi0zLTIgMSAyIDItMiAxYzEgNy0xIDEzLTEgMjBoLTl2LTE4bC0xLTRjLTIgMi0zIDMtMiA2djlsLTIgMmgtNmMtMiAwLTItMS0yLTJsLTEtNWMtNCAyLTIgNS0yIDhoMTFhMzM4IDMzOCAwIDAgMCAzIDhoMTFsMS0xYzItMiA0LTIgNy0yaDVsNCAxYzEgMiAyIDIgNCAyaDExYzEgMCAyIDAgMy0ybDItMmgxNmMyIDAgMyAxIDQgM2wxIDFhMjc3IDI3NyAwIDAgMCAxNSAwYzItMyA0LTMgNy0zaDVsNCAxIDIgMmgxMWwyLTIgMS02aDExYy0xLTMgMi02LTItOGwtMSA1LTEgMmgtOXYtMTFsLTItNmMtMiAyLTEgNC0xIDdsLTEgMTV6TTM3NyA1MTJjLTMgMy0zIDUtMSA5IDQgOCA5IDE1IDE2IDIyIDExIDEwIDIzIDE4IDM2IDI0czI2IDkgNDAgOWwxMy0yaC0xMGMtMjAtMS0zNi03LTUwLTIxLTgtOS0xNS0yMC0xOS0zMS0xLTMtMy00LTUtNSAzIDE5IDE0IDMyIDI4IDQ0LTMgMC02LTEtOS00bC0xMi0xMWMtOC0xMC0xMy0yMS0xNy0zMy0xLTQtMS00LTUtNCA0IDE1IDExIDI3IDIwIDM5LTE0LTgtMTktMjMtMjUtMzZ6IG0xNjUgNjF2MWgxYzExIDMgMjIgMiAzMy0xIDE4LTQgMzQtMTMgNDgtMjQgMTAtOCAxOC0xOCAyMy0yOSAyLTMgMS01LTEtOGwtNSAxMGMtNCA4LTggMTUtMTQgMjFsLTcgNWM5LTEyIDE2LTI0IDIwLTM5LTQgMC00IDAtNSAzYTg5IDg5IDAgMCAxLTI5IDQ1Yy0yIDItNSA0LTggMyAxMy0xMSAyNC0yNCAyOC00My0zIDEtNCAzLTYgNWwtOCAxN2E3MCA3MCAwIDAgMS03MCAzNHogbS0xMzQtNDdsMSAxYzQgOCA5IDE2IDE1IDIyIDggOSAxOCAxNiAzMCAxOXMyMyAxIDM1LTNsNy0ydi0xaC0ybC0xNiAzYy0xNSAxLTI5LTMtNDEtMTEtMTEtNy0xOS0xNy0yNi0yNyAwLTItMS0yLTMtMXogbTIwNiAwYy0xLTEtMi0xLTMgMS00IDctOSAxMy0xNSAxOWE2MyA2MyAwIDAgMS01MiAxOWwtMTUtM2MtMSAwLTItMS0zIDFsMjEgNmMxNiAyIDMwLTEgNDMtMTEgNy02IDEyLTEyIDE3LTIwbDctMTJ6IG0tMTQ2IDYwbDkgN2gxYzItMiA0IDAgNiAxbC0yIDQgMTIgNCA0LTFjMi0yIDMtMiA1IDFsMyAxaDljMyAwIDUgMCA2LTJzMy0xIDQtMWMxIDEgMyAzIDQgMmwxMi00LTEtNGMyLTEgMy0zIDUtMWgybDktNi0yLTJ2MWgtNWwtNCA0Yy0yLTEtNS0yLTYtMS0yIDEtMyAzLTIgNWwtMSAyLTYgM2MtMS0xLTItNC00LTQtMS0xLTMgMC01IDEtMiAwLTQgMC00IDJzLTEgMi0zIDJoLTVjLTIgMC0zIDAtMy0ycy0xLTItMy0ybC0yLTFjLTMtMS01IDAtNyAzbC0xIDEtNy0zYzEtMyAyLTUtMS03LTItMS01IDAtNyAxbC0zLTNjLTEtMS0yLTMtMy0xLTEgMC0zLTMtNCAweiBtNDMtNTFoLTNjLTUgMS0xMSA1LTEyIDEwLTIgNyAzIDE1IDExIDE3czE2LTIgMTgtMTB2LTdjLTItNi03LTEwLTE0LTEweiBtMjcgNDRsLTMtMmMtMi0xLTMgMC01IDEtMTAgNi0yMSA4LTMyIDRsLTEyLTctNCAzYzE0IDE0IDM5IDE2IDU2IDF6IG0tMTA3IDIxYzEgMiAzIDIgNSAxbDI5LTE3IDItMi0yLTEtNS0yLTMtMWgtM2wtMTcgMTEtNyA1YzEgMyAyIDMgNCAxbDIxLTEzYzItMSAzLTEgNSAxbC0yOSAxN3ogbTE2MSAwbC0yOS0xN2MxLTIgMy0yIDQtMWwyMSAxNGMzIDEgNCAxIDQtMmwtMjQtMTZoLTFsLTUgMWMtMiAwLTUgMS02IDNsMyAyIDI4IDE3YzIgMiAzIDEgNS0xeiBtLTYzLTQyYzE0IDQgMjkgNCA0Mi0yIDExLTUgMTktMTIgMjYtMjEtMyAxLTYgMS04IDRsLTggN2E1OSA1OSAwIDAgMS00OCAxMWwtNCAxeiBtLTM1IDBsLTYtMWMtMTIgMi0yNCAxLTM2LTUtNy0zLTE0LTgtMjAtMTQtMS0yLTQtMi02LTMgMTcgMjQgNDIgMjkgNjggMjN6IG0tMSAxM2M3IDcgMjQgOCAzMiAybC03LTRoLTFjLTYgMi0xMiAyLTE3LTFoLTJsLTUgM3ogbTcxLTI0aC0xYy0xMCAyLTIwIDUtMzIgNCAwIDEgMCAyIDIgMmgxMWM2IDAgMTEtMSAxNi0zbDQtM3ogbS0xMDUgMGMxIDIgMyAzIDcgNSA4IDIgMTYgMiAyNCAxIDIgMCAxLTEgMS0yLTExIDEtMjEtMi0zMi00eiBtMTE0IDMxbDE4IDEyYzEtMiAxLTMtMS00bC0xMy05Yy0yLTEtMy0xLTQgMXogbS0xNDIgMTJsMTktMTJjLTItMi0zLTItNC0xbC0xNCA5Yy0xIDEtMiAyLTEgNHogbTE2Mi0xMGwtOS01LTIgMSAxIDIgNiA1IDQtM3ogbS0xNjAgM2w2LTUgMS0yLTItMS04IDUgMyAzeiIgZmlsbD0iI0RCMDMwMyIgPjwvcGF0aD48cGF0aCBkPSJNNTI4IDE2NWg5YTIxMCAyMTAgMCAwIDEgMTQxIDcxIDIwMSAyMDEgMCAwIDEgNTAgMTI0djE4bC0xIDEzYTIxMCAyMTAgMCAwIDEtNjEgMTMwbC0xIDItMi01IDEtMmEyMDUgMjA1IDAgMCAwIDIxLTI2NCAyMDIgMjAyIDAgMCAwLTE2MS04MiAyMDkgMjA5IDAgMCAwLTIxOSAyMTRjMiA1MiAyMSA5NyA1NiAxMzV2M2wtMSAzLTktMTBhMjEwIDIxMCAwIDAgMS01MS0xMjJ2LTI2YTIxMiAyMTIgMCAwIDEgMjAzLTIwMWwzLTFoMjJ6IiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik01NjEgNTI5bC01LTktNSAzLTQtNS0xLTIgMy00LTctNi0zIDQtNy0zIDMtNS05LTQtMiA0LTEgMS04LTF2LTZoLTl2NGMwIDIgMCAyLTIgMmwtNSAxYy0xIDEtMiAwLTItMWwtMi01LTkgNSAzIDUtNiA0LTQtNS03IDYgMyA1LTEgMS00IDUtNS0yLTUgOCA2IDMtMiA2IDcgMWMzLTcgNy0xNCAxMi0xOSA2LTYgMTQtOSAyNS0xMCAxMi0xIDIzIDMgMzAgMTAgNSA1IDkgMTEgMTIgMThsOC0yLTItNCA1LTN6IiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik01MzEgNTIxYTM1IDM1IDAgMCAwLTQxIDBjLTcgNS0xMyAxMi0xMyAxOWw2IDJjNC0xMSAxMS0xNyAyMS0yMGgxM2MxMCAzIDE3IDkgMjEgMTlsNi0yYy0xLTYtNi0xMy0xMy0xOHpNMzEwIDQwN3YtMWwtMS03IDYtNSA0My0zOSAxLTEtMSA5LTIgMS00NCA0Mi0yIDF6IG00MDctMmwtOC03YTEyMDc1IDEyMDc1IDAgMCAxLTM4LTM3bC0yLTkgMSAxIDQ3IDQyYzEgMSAyIDIgMSA0bC0xIDZ6IG0tNDAzIDE1bC0yLTcgMS0yIDQwLTM3IDQtM3Y3bC0xIDItMzcgMzUtNSA1eiBtMzk5LTJsLTE1LTE1LTI1LTIzYy0yLTItMy0zLTItNnYtNWwyIDEgNDAgMzljMiAxIDIgMiAxIDNsLTEgNnogbS0zNTcgODhsLTQtNi0xLTEgMjItNDggNSA2djJsLTIyIDQ2djF6IG0yNS00N2wxIDEgNCA2LTMgNi0xOCA0MS0xIDEtNC01di0ybDIxLTQ3di0xeiBtMjcyLTExbDExIDI3YTg5NCA4OTQgMCAwIDAgOSAyNGwtNCA0LTEtMi0yMC00NCAxLTMgNC02eiBtOCA2NGwtMy03LTE4LTQwIDEtMyAzLTUgMyA2IDE4IDQxLTEgMy0zIDV6TTMxOSAzMTdjMiAxIDMgMiAyIDUtNiAyMS05IDQyLTggNjQgMCAyLTEgMy0zIDQtMS0yNSAyLTUwIDktNzN6IG0zOTEtMmM3IDI0IDEwIDQ4IDcgNzMtMS0xLTItMi0yLTUgMS0yMS0xLTQzLTctNjRsMi00eiBtLTMzOC0xOGMtMy00LTMtNC03LTJoLTFjLTIgMS0zIDAtMi0ybDMtNSA2LTUgMy0xIDIgMWMxIDIgMSA1LTEgN3Y0bDYtMWMyIDAgMiAwIDIgMmwtMSA1Yy0xIDItMyAyLTUgMWgtMWwtMiAxYy0xIDAtMyAxLTQtMS0xLTEgMC0zIDEtNGgxeiBtMjg3LTJsMSA0YzAgMi0xIDMtMyAybC0yLTFoLTJjLTIgMS00IDEtNC0xbC0yLTYgMi0xIDcgMS0xLTR2LTdsMi0xIDQgMyAzIDIgNCA1djNoLTNjLTMtMi01LTEtNiAxeiBtLTMzMyAyOWMxIDEgMiAyIDEgNC00IDE1LTYgMzEtNiA0NnY2bC0zIDNjLTEtMjAgMi00MCA4LTU5eiBtMzc4LTJjNSAyMCA3IDM5IDYgNTktMiAwLTMtMS0zLTQgMC0xNy0xLTM0LTUtNTEtMS0yIDEtMiAyLTR6IG0tMzc5IDU2YzAtMjAgMy0zOSA5LTU3aDNsLTMgOWMtNCAxNC02IDI5LTYgNDQgMCAyLTEgMi0zIDR6IG0zNjgtNThsMi0xYzYgMTkgOCAzOCA4IDU3LTItMS0zLTItMy00IDAtMTctMi0zNC03LTUwdi0yeiBtLTM2MCA1MWMxLTE3IDQtMzMgOS00OGgybC0zIDE0Yy0zIDEwLTQgMjAtNSAzMCAwIDMgMCAzLTMgNHogbTM1Mi00OWwzLTFjNCAxNiA3IDMyIDcgNDgtMiAwLTMtMS0zLTQgMC0xNC0yLTI3LTYtNDFsLTEtMnogbS0zNDQtNTJsNCA5YzIgMyAyIDYgMCA4bC0zIDNoLTJ2LTRsLTItMmMtMi0xLTEtMy0xLTQgMS00IDEtNyA0LTEweiBtLTExIDE4N2w2IDEyIDEwIDE5YzIgMiAxIDMgMCA1LTgtMTEtMTQtMjMtMTktMzVsMy0xeiBtMzY2LTJsMyAxYy01IDEyLTEyIDIzLTIwIDM0LTItMi0yLTMgMC01YTE5MiAxOTIgMCAwIDAgMTctMzB6IG0tNi0xODZjMyA0IDMgOCA0IDEybC0xIDFjLTIgMS0yIDItMiA0bC0xIDItMSAyLTItMS0yLTUtMS00IDYtMTF6TTQ0MCA1MzJsLTUtMi0xLTEtNS0yNGM0IDEgNSAyIDYgNWw1IDIyeiBtMTQ1LTNsMi0xMSAzLTExIDMtNCAzLTEtMyAxNC0zIDljMCAyLTEgMy0zIDNsLTIgMXogbS03Ny0zNTVjMCAyLTEgMy0zIDMtMTEgMC0yMSAyLTMyIDRoLTJjMC0yIDEtMyAzLTRhMjA3IDIwNyAwIDAgMSAzNC0zeiBtMTctMWwxNiAyIDE4IDJjMiAxIDMgMiAzIDRsLTktMS0yNS0zYy0yIDAtMiAwLTMtNHogbS04NiAzMmM0IDAgOCAxIDEyIDQgMiAyIDIgMy0xIDMtNCAyLTkgMS0xMy0xbC0yLTEtMS00IDMtMWgyeiBtMTQ4IDhsLTUtMWMtMi0xLTMtMi0xLTRsOS0zIDctMWMxIDAgMiAxIDEgMyAwIDItMSAzLTMgNGwtOCAyeiBtMTktMTljMyAwIDggMyA4IDZsMSA5YzAgMS0xIDItMiAxLTMtMS01LTItNi02bC0xLTEweiBtLTE3OSAwYzEgNS0xIDktMyAxM2wtNSA0LTItMWMtMS00IDAtOCAyLTExIDEtMyA0LTQgOC01eiBtMTAwLTEybDI3IDMgOSAxIDEgM2gtMmMtMTEtMi0yMi00LTMzLTQtMiAwLTIgMC0yLTN6IG0tMjEgMHYybC0yNyA0LTggMi0yLTEgMS0yIDEwLTIgMjQtM2gyeiBtMTgwIDIxNWMyIDctMyAxNy0xMCAxOC0yLTcgMy0xNiAxMC0xOHpNNDA2IDI0NmwtMSA0LTQgNy01IDUtMiAxLTEtMyAyLThjMi00IDctNCAxMC02aDF6IG0tNjQgMTUyYzYgMiAxMSAxMSA5IDE4LTYgMS0xMi0xMS05LTE4eiBtNDQtMTM0YzMgNCAzIDggMSAxMS0xIDMtNCA1LTcgNmwtMS0xYy0yLTMtMS03IDEtOWwzLTMgMy00eiBtNjYtNDZjMCA0LTEgNy01IDlsLTcgMWMtMiAwLTMtMS0zLTMgMC0zIDItNCA0LTVsOS0yaDJ6IG0xMzYtMzB2LTFsMS0xaDFjMyAzIDcgNSA5IDlsMSAzLTEgMi0zIDFjLTctMi04LTctOC0xM3ogbTM4IDU3bDIgMWM2IDEgMTAgNiAxMCAxM2wtMSAzLTMtMS03LTEwLTEtNnogbS0xODEtNjBsLTIgMTFjLTEgNC00IDUtNyA1LTIgMS00LTItMy00bDYtOCA0LTMgMi0xeiBtMjAwIDc5bDcgN2MyIDMgMSA2IDAgOGwtMyAxYy00LTItNy01LTYtMTBsMS02aDF6IG0tNTUtMzZsLTctMmMtMi0yLTMtNC0zLTdsMS0xIDEwIDJjMyAxIDQgNCA0IDYtMSAyLTMgMi01IDJ6IG0tMjU2IDU5bDIgNSAxIDZjMSAzLTEgNC0yIDZoLTJjLTUtNC02LTExLTItMTVsMi0yaDF6IG0zNjMtMWM2IDQgNSAxMyAwIDE3aC0yYy0xLTEtMy0zLTItNSAwLTQgMi03IDMtMTFsMS0xek0zMzUgNDM4YzAtNSAyLTEwIDMtMTQgMS0yIDItMSAyIDBsMiA2YzEgNS0yIDktNCAxM2wtMSAxLTItMnYtNHogbTM1Ny0ybC0xIDQtMiAxaC0xYy0zLTUtNS0xMC0zLTE2bDEtNGMxIDAgMi0xIDIgMWw0IDEzdjF6TTM2MCAyODh2MWMtMSA2LTkgMTAtMTQgOS0yLTEtMi0yLTEtM2w2LTdoOXogbS0yNCAxMThsMSA0LTIgMTAtMiAyYy0zIDEtNCAwLTQtMnYtOGMxLTQgNC01IDctNnogbTAtOTJjLTEtNyA4LTEzIDE3LTEyLTIgNi0xMSAxMi0xNyAxMnogbTM1OC0xYy04LTEtMTQtNS0xNy0xMiA0IDAgNyAwIDExIDIgMyAyIDYgNSA2IDEweiBtLTI0LTI2aDVjNS0xIDggMyAxMSA3bC0xIDJjLTQgMS03IDEtMTAtMWwtNC00LTEtNHogbTIxIDExN2M2IDIgNyA1IDcgMTMgMCAxIDAgMy0yIDMtMSAxLTMgMC00LTEtMi00LTMtOS0xLTE0di0xek00NjEgMTgxYzAgMyAwIDYtMyA5LTIgMy01IDMtNyAzcy0zLTEtMy0zYzItNSA2LTcgMTAtOWgzeiBtMTExIDBjNC0xIDcgMSA5IDNzMyA1IDMgN2MxIDItMSAyLTIgMi02IDAtOS0zLTEwLTl2LTN6TTM5OCA0OTNsLTItNSAxLThjMC0xIDEtMiAyLTEgNCAyIDYgNSA4IDl2MmgtM2MtMS0xLTMtMS00IDFsLTEgMmgtMXogbTEyLTI2NGwtNy0xLTItMyAyLTNjNS0yIDkgMCAxMyAyIDIgMSAxIDMgMCA0bC02IDF6IG0yMTcgMjYybC0zLTNjMC0yLTEtMi0yLTFsLTIgMWgtMnYtMmMyLTQgNC03IDgtOSAxLTEgMi0xIDMgMWwtMSAxMC0xIDN6IG0tNi0yNjJsLTUtMmMtMiAwLTItMyAwLTMgNC0yIDgtNCAxMi0zIDIgMCAzIDIgMyA0cy0xIDItMyAzbC03IDF6TTM0NyAzMzdjNCA0IDQgOSAyIDE0bC0zIDJjLTIgMS0zIDEtNC0xbC0xLTUgMy01IDMtNXogbS0xMiAxMTlsMi0xIDggMTYgNiA5YzEgMiAxIDItMSA1LTYtOS0xMS0xOS0xNS0yOXogbTM1NC00bDIgMmMtNCAxMC0xMCAxOS0xNiAyOHYtNWwxMy0yMyAxLTJ6TTM1OCAyNzFjMC0zIDEtNSA0LTZsMTEtMmgxYzAgNy03IDEwLTE2IDh6IG0tMyA2OHYtNGwzLTcgNS02YzEtMSAyIDAgMiAxdjRsLTEgNmMwIDQtMSA0LTUgMmE4NzAgODcwIDAgMCAxLTQgNHogbTMwMi03NmgybDEwIDJjMyAwIDQgMiA0IDUtOSAzLTE1IDAtMTYtN3ogbTI2IDczbDIgNyAyIDJ2NmwtMyAxYy0xIDAtMyAwLTQtMi0yLTQtMi0xMCAyLTEzbDEtMXogbS05IDJsLTMtMy0yLTFjLTIgMi00IDEtNC0xbC0xLTEwIDEtMyAyIDJjNSAzIDUgOCA3IDEzdjN6IG04LTgxbDEgNnYyYzIgMSAyIDIgMSA0bC00IDUtMy0xYy0yLTUgMS0xNCA1LTE2ek0zNTUgNDQzYTQ4IDQ4IDAgMCAxIDggNWMyIDEgMiAyIDIgNWwtMiAzYy0xIDItMyAzLTQgMGwtNS0xMHYtM2gxeiBtLTI1LTEwaC05Yy0zLTMtNi01LTctOCA3LTIgMTUgMSAxNiA4eiBtMzQyIDh2NGwtNSA5Yy0xIDItMyAyLTQgMC0yLTQtMy03IDItOWw0LTMgMy0ydjF6TTUwNCAxODljMSAyIDAgMy0yIDNsLTI3IDRjLTIgMC0zIDAtMy0yIDEwLTMgMjEtNCAzMi01eiBtLTE1NSA2OGwyIDJjMyA0IDQgOCAzIDEyIDAgMy0zIDUtNCAzbC0zLTNjMC0yLTEtNCAxLTVsMS01di00eiBtMzQ4IDE3NGMwLTcgOC0xMCAxNy04bC0zIDRhNzQgNzQgMCAwIDEtNSA0aC05eiBtLTM0MS0yNmMtNS01LTYtMTMtMy0xNyAxLTIgMy0yIDMgMCAyIDMgMyA3IDIgMTFsLTIgNnogbTI3OS0xMzFsLTYtMy00LTd2LTFoNWM0IDAgNyAyIDggNiAwIDItMSA0LTMgNXogbS0yMzQtMTBsNC0xYzIgMCAyIDEgMSAyLTIgNC00IDgtMTAgOS0yIDAtMy0xLTMtMyAwLTQgMy03IDgtN3ogbS0zNiAzNmwyIDMtMSAyLTIgNWMtMSAyLTUgNC03IDMtMS0xLTItMi0xLTMgMC00IDUtOSA5LTEweiBtMTYzLTExMWMxMSAxIDIyIDIgMzMgNSAwIDItMSAyLTMgMmwtMjctNGMtMiAwLTMtMS0zLTN6TTM3MSA0NDB2MWMwIDIgMCA0LTIgNC0yIDEtNS0yLTYtNCAwLTIgMC01IDItN3YtMmwxLTIgMyAxIDMgOWgtMXogbTcwIDcyYzMgMSA1IDMgNSA2bDQgMTdjLTMgMC00LTEtNS00bC00LTE3di0yeiBtMjI0LTIxM2M1IDIgOCA1IDkgOSAxIDIgMCA0LTIgNC00IDAtNi0xLTYtNGwtMS0yLTItMyAyLTR6IG03IDEwNGwtMy05IDItNyAyLTIgMiAyYzIgNiAxIDEyLTMgMTZ6IG0tMTcgMzRsMy04IDItMSAyIDIgMSAzYzIgNCAwIDktNSAxMGwtMi0xLTEtNXogbS03MSA3M2wtNiAyMC00IDN2LTJsNS0xOGMwLTMgMy0yIDQtM2gxeiBtNTktMjRjMCA1LTMgOC03IDEwbC01LTF2LTJsMy00IDYtNSAyLTEgMSAzeiBtLTI1MyAxM2wtMi0yYy00LTItNi01LTYtMTAgMS0xIDItMiAzLTFsOCA3IDEgNC00IDJ6IG0tNDQtMTY4bDEtNCA2LTZjMS0yIDItMSAzIDAgMSAyIDAgNy0xIDhsLTIgNC0xIDEtMS0xYy0xLTItMi0yLTUtMnogbTMzNy0xYy0yLTEtNCAwLTQgMmwtMiAxLTEtMi0yLTN2LThsMi0xIDYgNyAxIDR6IiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik0zOTQgMjgwYzAgMy0xIDQtMyA2bC04IDRjLTIgMC0zLTEtMi0zIDEtNSA4LTggMTMtN3ogbTI0Ni0xYzMgMSA3IDIgOSA2djNsLTMgMWMtMy0xLTctMy05LTctMS0yLTEtMyAzLTN6IG0tMjkgMjE5bDItNCA2LTNjMy0xIDQgMCAzIDNsLTMgOGgtMmMtMi0yLTMtNC02LTR6IG0tMTk3IDNjLTMgMC00IDItNiA0aC0ybC0zLTljLTEtMiAxLTMgMy0ybDYgNCAyIDJ2MXogbS00Ni0yMjVsLTEgMS0yIDJjLTQgNi05IDQtMTQgNWwyLTUgMy0xYzItMiA0LTIgNi0yaDJsNC0xdjF6IG0zMTEgN2wtOS0xaC0xbC03LTd2LTFsMyAxaDVsMyAxIDQgMmMyIDEgMiAyIDIgNXpNMzQzIDQ1MWEyMDMyIDIwMzIgMCAwIDAgMTIgMjFjMSAyIDEgNC0xIDZsLTEzLTI1IDItMnogbTE0LTE5MmwyLTcgMy04IDEtMSAyIDFjMiA1LTEgOS0zIDE0bC00IDItMS0xeiBtNDYtNDRjMS00IDItOCA1LTExIDItMiAzLTEgNCAycy0yIDktNiAxMWMtMiAxLTMgMC0zLTJ6IG0yMjYgMGMwIDItMSAyLTIgMmwtMS0xYy00LTEtNy04LTUtMTIgMC0yIDEtMiAyLTFsNCA1IDIgN3ogbTU0IDIzNGwyIDEtMTQgMjV2LTVsMTEtMTkgMS0yeiBtLTM2LTE5M2M0LTMgOC00IDEzLTNsNCA0YzAgMiAwIDMtMiAzbC03LTEtOC0zeiBtMjcgMGwtMiAzLTQtMi0yLTljLTEtMiAwLTMgMS01aDJsNSAxM3ogbS0yNDItMzdsLTIgMS0xMCAxLTMtMi0xLTIgMy0yIDEwIDEgNCAyLTEgMXogbS00OCAzOGMtNSAxLTkgNS0xNSAzLTIgMC0zLTEtMi0ybDQtNGM0LTEgOSAwIDEzIDN6IG03OC01MmMtMyAwLTUtMS03LTMtMi0xLTItMy0xLTVoMmE3MiA3MiAwIDAgMSAxMSA1bDEgMS0xIDEtNSAxek0zNjIgNDEwYzIgMyAyIDEwLTIgMTVsLTQtNXYtMmMwLTMgMy02IDYtOHogbTIzOC0xOTFjMS0zIDQtNCA2LTRsNi0xYzIgMCA0IDEgNCAzbC0zIDNjLTQgMS04IDEtMTMtMXogbS0zNi0xNmwxLTEgMTEtNiAzIDFjMCAyIDEgNC0xIDUtNCAzLTkgMi0xNCAxeiBtMTAzIDIyMGMtNC00LTQtMTItMS0xNSA3IDUgNyAxMCAxIDE1ek00NzUgMjAxbDI3LTRjMSAyIDAgMy0yIDNsLTIxIDNjLTIgMC0zIDAtNC0yek0zNTYgNDM1bC04LTRjLTItMy0xLTYtMi05IDcgMSAxMCA3IDEwIDEzeiBtMjg4LTIxNGwyLTMgMTggMTYtMiAyLTE4LTE1eiBtLTg3LTIxYzAgMy0yIDMtMyAzbC0yMi0zYy0yLTEtMiAwLTItNGwyNyA0eiBtMTEzIDIzM2MtMS02IDUtMTMgMTEtMTMtMSAzIDAgNi0zIDlsLTggNHpNMzg2IDIxOGwyIDMtMTggMTYtMi0yIDE4LTE3eiBtLTYyIDg1YzIgMCA0IDIgNCA0bDIgOGMwIDItMSAzLTMgMi0yLTItNC0zLTQtNWwxLTl6IG0zODItMXYxMGwtNSA0LTEtMWMtMi00IDItMTIgNS0xM2gxeiBtLTI0NS02OWwtMy0xLTMtMWMtMiAwLTMgMC0zLTItMS0yIDEtMiAyLTIgNC0yIDctMSAxMSAxIDEgMSAxIDQtMSA0bC0zIDF6IG0xMDkgMGwtMy0xYy0xLTEtMi0zIDAtNCAzLTIgNy0zIDExLTFsMiAyLTIgMi04IDJ6IG0tMTgzIDIwbC0yLTIgMTgtMTZoM2wtMTkgMTh6IG0tMTMgNThsLTEgNmMwIDItNCAzLTYgMWwtMi0ydi0ybDItMmMxLTIgMy0zIDUtMyAyLTEgMyAwIDIgMnogbTI4MiAzdi0ybC0xLTNjMC0xIDEtMiAyLTEgMyAxIDYgMiA3IDV2MmwtMiAyLTMgMWMtMS0xLTQtMS0zLTR6TTQ4OCAyMTRjLTEtMy0zLTMtNi0zaC0ydi0yYzItMSA1LTQgOC00aDFsNCAxLTIgNC0zIDR6IG0xNTkgMzZsLTMgMi0xOC0xN2g0bDE3IDE1eiBtLTE3My0yN2wtMy0xYy0yLTEtMS0yLTEtM2wzLTRjMi0yIDQtMiA2IDFsMSAyYzEgMSAxIDItMSAzbC0zIDJoLTJ6IG03MC05bC00LTZjLTItMS0xLTIgMS0zbDggMSAzIDIgMSAyaC0xbC00IDFjLTIgMC00IDEtNCAzeiBtMTMgOGwtNS0yLTEtMSA0LTVjMS0xIDMtMSA0IDFsMyAzYzEgMiAwIDMtMiA0aC0zeiBtLTE4MiAyMWwtMi0yIDE3LTE1IDIgMi0xNyAxNXogbTIzLTExbC0xNyAxNi0yLTIgOS04IDYtNWMxLTIgMy0yIDQtMXogbTE5IDIybC0yIDQtNCA1Yy0xIDEtMiAwLTItMSAwLTItMS0zLTMtM2wtMS0xIDEtMSA5LTNoMnogbTItNWwyLTJjMy0zIDYtMyAxMC0ybDEgMi00IDQtMyAxLTMtMS0xLTEtMi0xeiBtMjIxLTIxbDItMyAxNiAxNS0yIDItMTYtMTR6IG0tMjQgMjVsOSAzIDEgMmgtMWMtMiAwLTMgMS0zIDNzLTEgMi0yIDFsLTYtN2MwLTIgMS0yIDItMnogbS0xMy05bDcgMmMyIDEgMiAzIDAgNC0xIDItMyAyLTQgMS0zLTEtNi0yLTYtNWwxLTJoMnogbTQ3IDNsLTE2LTE1YzEtMSAyLTIgNCAwbDEzIDEyIDEgMS0yIDJ6IG0tMTgyLTM0bC02IDdjLTIgMi0zIDEtMy0xbC0yLTNjLTEtMiAwLTQgMi00aDl2MXogbS04MSAyNTljNSAyIDUgNiA2IDEwIDEgMi0xIDMtMyAyLTQtMS01LTMtNC03bDEtNXogbTI1Mi0ybDEgNmMwIDMtMyA2LTYgNmwtMi0zYzAtMyAzLTggNy05eiBtLTc1LTI1OWgzbDYgMWMyIDAgMyAyIDIgM2wtMiA1aC0ybC02LTYtMS0zek00MTkgNTE1bC0yLTItMy01di0zaDNsNiA1YzIgMiAxIDMtMSA0bC0zIDF6IG0yNTctNzBsMyAyLTEyIDIwYy0xLTItMi0zIDAtNWw4LTE1IDEtMnogbS0zMjggNGwyLTIgMSAzIDggMTVjMSAxIDEgMy0xIDVsLTEwLTIxeiBtMjU3IDYzbC00LTF2LTJjMC0zIDYtNyA4LTdsMiAyLTQgNy0yIDF6TTQ0NSAyMzRsMiAxYzMgMSAzIDMgMSA0LTMgMS01IDMtOSAybC0yLTJjLTEtMSAxLTIgMi0zbDYtMnogbTE0NSA3bC03LTNjLTEtMS0xLTMgMS0zbDUtMSA0IDIgMiAyLTIgMi0zIDF6TTQwMSA1MDFjMSAzIDQgNSA1IDktMiAxLTQgMS01LTFsLTUtNC0xLTMgMy0xaDN6IG0yMC0yNjZsLTEtMXYtM2wxMC01YzEtMSAyLTEgMyAxbC0xIDJjLTMgMS02IDItOCA1bC0zIDF6IG0xOTggMTRsLTYtMy0xLTR2LTFoOGwzIDItMiAyYy0yIDEtMiAxLTIgNHogbS0xNCAyNjdjLTIgMy00IDUtOCA1LTEgMS0yIDAtMi0ybDEtM2MwLTIgMi0zIDUtMmw0IDJ6IG0xNC05YzAtNCA0LTYgNS05aDRsMiAxLTEgMy01IDRjLTEgMi0zIDItNSAxek00MTIgMjQ5YzEtMiAwLTMtMS00bC0yLTIgMi0xaDljMCAzIDAgNC0zIDVsLTMgMmgtMnogbTcgMjcwbDUtMmMyLTEgNCAwIDUgM3Y0Yy0yIDEtNCAwLTYtMWwtMi0yLTItMnogbTI4Ny04MmwtNCA4Yy0xIDItMyAxLTQgMC0yIDAtMi0xLTMtM2wxLTEgNS0yIDUtMnogbS05NS0yMDJsLTMtMmMtMi0zLTUtNC03LTQtMi0xLTItMi0yLTNsMy0xIDEwIDZ2MmwtMSAyek0zMjAgNDM5bDkgMyAzIDItMyAzYy0yIDItNCAyLTUtMWwtNC03eiBtOTYgNTZsNCAyIDMgNi0xIDJoLTJsLTQtNS0xLTQgMS0xeiBtMTk0LTJjMCAyIDAgNC0yIDVsLTMgNC0yIDEtMS0yYy0xLTIgMy04IDYtOGgyek00MjYgMjQwbDItMyAyLTJjMC0yIDQtMyA1LTJsMSAyLTMgNGMtMiAxLTQgMi03IDF6IG0xNzktMWMtMiAxLTQgMS02LTFsLTMtNCAxLTJjMi0xIDQgMCA1IDJsMiAzIDEgMnogbS0xMjItMTNsLTItMSAxLTIgMi0zaDNjMSAxIDIgMiAxIDNsLTUgM3ogbTY2LTFsLTQtMmMtMSAwLTItMSAwLTNoM2wyIDIgMSAyLTIgMXpNMzM5IDM1OWMyIDEgNCAwIDMgM2wtMSAxYy0yLTEtMi0yLTItNHogbTM1MS0yYy0xIDIgMCA0LTIgNGwtMi0xYzAtMiAyLTIgNC0zek01NzIgNTE1Yy0xIDMtNCAzLTUgNC0xLTIgMC0yIDUtNHogbS0xMTQgN2MtMi0xLTUtMS01LTQgMiAxIDQgMSA1IDR6IG0tNSAxYzEgMiA0IDEgNSA0LTMgMC01LTItNS00eiBtNCAxNWMtMi0xLTQtMS00LTQgMSAxIDQgMSA0IDR6IG0xMTAtOGMwLTMgMy0zIDUtNCAwIDItMSAyLTUgNHogbTUtOWMtMSAzLTMgMi01IDMgMC0yIDMtMiA1LTN6IG0tMTE1IDExYy0yLTEtNCAwLTQtMyAxIDEgNCAxIDQgM3ogbTExMCAzYzAtMyAzLTMgNS00LTEgMy0zIDMtNSA0eiBtLTQ3IDE1YzAgNS00IDktOSA5LTYgMC0xMC00LTEwLTlzNC0xMCAxMC0xMGM1IDAgOSA0IDkgMTB6IiBmaWxsPSIjRDQ4OTMxIiA+PC9wYXRoPjxwYXRoIGQ9Ik00NDEgNDU3YzIgMCA0IDAgNS0yIDItMyA0LTUgMy04IDAtMyAwLTUtMy02cy00LTMtNC02aDVjMyAwIDMgMCA0LTNsLTQtN2gzYzEgMSAzIDAgMy0ybDMtMTIgMS0zIDMgMnYxYzEgMiAyIDMgNCAyaDkzYzIgMCA0IDAgNS0ybDEtMmgybDEgMSAyIDExYzEgNCAxIDUgNiA0bDEgMS00IDUtMSAyYzEgMSAxIDIgMyAyaDdjMCA0LTMgNi02IDdsLTIgMmMwIDQgMCA4IDQgMTF2MWw0IDFoMzdsNCAyIDQgOXYxbDEtMmExNDYgMTQ2IDAgMCAwIDIxLTE1NyAxNDEgMTQxIDAgMCAwLTExOC03OWgtMTdhMTQzIDE0MyAwIDAgMC0xMTAgNTFjLTI0IDI5LTM2IDYyLTM1IDEwMCAxIDMwIDExIDU4IDI5IDgzbDIgMiAzLThjMS0yIDItMiAzLTJoMzd6IG0xNTggMzVINDIyYzcgNSAxMyAxMCAyMCAxM2wxNyA5IDE1IDQgMS0xLTQtNSA4LTYgMyA1IDctNC0zLTUgOC00IDMgNGMwIDEgMSAyIDIgMWw1LTEgMi0xdi00aDl2NWw3IDEgMi0xIDItNCA5IDQtMyA1IDYgNCA0LTUgNyA2LTMgNSAxIDEgMTUtNC0xLTJjMTMtNSAyNi0xMSAzOC0yMHoiIGZpbGw9IiNEQjAzMDMiID48L3BhdGg+PHBhdGggZD0iTTQ4NyAzMjFsMi03IDYtMjFjMS0xIDEtMi0xLTNsLTIxLTE2LTEtMmgyOGMyIDAgMiAwIDMtMmw5LTI2di0xbDMgNyA3IDIwYzAgMiAxIDIgMiAyaDI5djFsLTIgMS0yMSAxNmMtMSAxLTIgMi0xIDRsOCAyNCAxIDMtNi00LTE4LTEzaC00YTI4ODEgMjg4MSAwIDAgMS0yMyAxN3ogbS01NC0yOWE1MjcgNTI3IDAgMCAxIDEwIDE0bDE0LTItNCA0LTYgN2MtMSAwLTIgMS0xIDNsNiAxMy02LTMtNi00Yy0yLTEtMyAwLTQgMWwtOSA4LTEgMSAyLTEzYzAtMiAwLTMtMi00bC0xMi02IDE0LTNjMiAwIDIgMCAzLTJsMi0xNHogbTE0MSA0MWw2LTEzLTEtMy04LTktMi0xIDE1IDIgMi0yIDctMTMgMSA0IDEgMTAgMyAzIDExIDEgMyAxLTEyIDZjLTIgMS0yIDItMiA0bDIgMTQtNy03LTMtMy0zLTEtMTMgN3ogbS03MiAzMmwtMTIgMWMtNCAwLTQgMC01IDRsLTMgMTItNS0xMXYtMWMtMS0yLTItMy01LTNoLTEybDMtMiA3LTYgMS0zLTUtMTJ2LTJsMTIgOGMxIDEgMiAxIDMtMWwxMS04djNsLTMgMTEgMSAyIDEwIDcgMiAxeiBtMzgtMjVsNyAxMGMyIDMgMiAzIDYgMmwxMi0zLTcgOWMtMyA0LTMgNCAwIDhsNiAxMGE1MTggNTE4IDAgMCAxLTE3LTRsLTkgMTF2LTdsMS03YzAtMi0xLTItMi0zbC0xNC01YTEwMDEgMTAwMSAwIDAgMSAxNi03bDEtMTR6IiBmaWxsPSIjRkZENDAwIiA+PC9wYXRoPjxwYXRoIGQ9Ik01NjMgNTE1bC0yLTNjMTMtNSAyNi0xMiAzOC0yMEg0MjJsMjAgMTMgMjEgMTAtMSAzLTItMWExNTAgMTUwIDAgMCAxIDI0LTI4NyAxNDggMTQ4IDAgMCAxIDE3OCAxMTdjOCA0OS02IDkyLTM5IDEyOWExNTAgMTUwIDAgMCAxLTYwIDM5eiBtNjItNDdsMS0xYTE0NiAxNDYgMCAwIDAgMjAtMTU3IDE0MSAxNDEgMCAwIDAtMTE3LTc5aC0xN2wtMjcgMmMtMzMgNy02MSAyMy04MyA0OS0yNCAyOC0zNiA2Mi0zNSA5OSAxIDMxIDExIDU5IDI5IDg0bDIgMSAzLTggMy0xaDM3YzIgMCA0LTEgNS0zIDItMiAzLTQgMy03czAtNS0zLTdjLTMtMS00LTMtNC02bDUgMWMzIDAgMyAwIDQtM2wtNC03di0xbDMgMWMxIDAgMyAwIDMtMmwzLTEyIDEtMyAyIDIgMSAxYzEgMiAyIDIgNCAyaDkzYzIgMCA0IDAgNC0zbDItMSAyLTEgMSAyIDIgMTBjMSA1IDEgNiA2IDVoMWwtNCA1LTEgMmMxIDEgMSAzIDMgM2g3Yy0xIDMtMyA1LTYgN2wtMiAxYzAgNCAwIDggNCAxMXYxYzEgMiAyIDIgNCAyaDM3YzIgMCAzIDAgMyAybDUgOXogbS0yMDggMTZjMiAyIDMgMyA1IDNoMTc4YzIgMCAzLTEgNC0zSDQxN3ogbTE1MC01MWMtMS0yLTEtMy0zLTNINDU4Yy0yIDAtMyAxLTMgM2gxMTJ6IG0tNDkgNDdjMC00IDItOS0zLTEyLTQtMi04LTItMTEgMS00IDMtMyA3LTMgMTFoMTd6IG01LTM2aC0yNHY2bDI0IDF2LTd6IG0tMzggMzZjMC00IDEtOC00LTEwLTItMi01LTEtOCAxLTIgMS0zIDYtMiA5aDE0eiBtNjYgMGMwLTQgMS04LTMtMTAtMy0yLTYtMS05IDAtMyAzLTIgNy0yIDEwaDE0eiBtMTYtMTVsLTMtNGMwLTEtMS0zLTItMmwtMyAyYzAgMSAwIDMtMiAzbC0xIDJjMyAwIDMgMiAzIDR2NmMwIDQgMCA0IDQgNGwxLTExIDItNGgxeiBtMTEgMTVjMS0zIDEtNi0yLThsLTYgMWMtMyAxLTMgNC0yIDdoMTB6IG0tMTE1LTIxaC0yYy0yLTEtMiAwLTIgMWwtMSAydjNsMSA3djZsMSAyIDEtM3YtM2MwLTMgMC03IDItOWwxLTItMS00eiBtLTkgMjFjMC0zIDAtNi0zLTdoLTZjLTIgMi0yIDUtMiA3aDExeiBtMTE1LTM2aC05djZoOXYtNnogbS0xMTYgN2g5di03aC00Yy02IDAtNiAwLTYgNmwxIDF6IG0xMDItN2gtNmwtMSAxdjVoNmwxLTZ6IG0tNzggMHY2aDZ2LTZoLTZ6IG0xMSA2aDZ2LTZoLTZ2NnogbTUwIDBoNnYtNmgtNnY2eiBtLTExLTZ2Nmg2di02aC02eiBtLTU0IDBoLTZ2Nmg2di02eiIgZmlsbD0iI0Q0ODkzMSIgPjwvcGF0aD48cGF0aCBkPSJNNTQ0IDQ0NGgtNnY2bDYgMXYtN3ogbS0yMSAwaC0yNHY2bDI0IDF2LTd6IG0xMCA2di02aC02djZoNnogbTMwLTIwSDQ1OGMtMiAwLTMgMS0zIDNoMTExYzAtMiAwLTMtMy0zeiBtLTQ4IDM4Yy00LTItOC0yLTExIDEtNCAzLTMgNy0zIDExaDE3YzAtNCAyLTktMy0xMnogbTMyIDJjLTItMi01LTEtOCAwLTMgMy0yIDctMiAxMGgxM2MxLTQgMS04LTMtMTB6IG0tMTI1IDE3aDE3OGMyIDAgMy0xIDQtM0g0MTdjMiAyIDMgMyA1IDN6IG0xMzctMTFjMCA0IDAgNCAzIDRoMWwxLTExIDItNGgxbC0zLTRjLTEtMS0xLTMtMi0ybC0zIDJjMCAxIDAgMy0yIDNsLTEgMmMzIDAgMyAyIDMgNHY2eiBtMC0yNmgxMHYtNmgtMTB2NnogbTkgMzBoMTBjMC0zIDAtNi0zLThsLTUgMWMtMyAyLTMgNC0yIDd6IG0tMTMtMzZoLTZsLTEgMXY1aDZsMS02eiBtLTYxIDZ2LTZoLTZ2Nmg2eiBtLTQyIDBsMSAxaDl2LTdoLTVjLTUgMC01IDAtNSA2eiBtLTcgMjNjLTIgMi0yIDQtMiA3aDExYzAtMyAwLTYtMy03aC02eiBtMTktMTBsLTItNGgtMWMtMi0xLTIgMC0zIDF2MmwtMSAzIDEgNyAxIDYgMSAyIDEtM3YtM2MwLTMgMC03IDItOWwxLTJ6IG05LTE5aC02djZoNnYtNnogbTEyIDM2YzAtNCAxLTgtNC0xMC0yLTItNS0xLTggMS0yIDEtMyA2LTIgOWgxNHogbS0yLTM2aC02djZoNnYtNnoiIGZpbGw9IiNFRjlDNDgiID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iZmVubGVpMSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTMwMi41NDU0NTUgMTE1Ljg0NjQ2NWM1MS43MTcxNzIgMCA5OC41MjEyMTIgMjAuOTQ1NDU1IDEzMi4yNjY2NjYgNTQuNjkwOTA5IDAuMzg3ODc5IDAuMzg3ODc5IDAuNzc1NzU4IDAuNzc1NzU4IDEuMTYzNjM3IDEuMjkyOTI5IDMzLjIyODI4MyAzMy42MTYxNjIgNTMuNjU2NTY2IDc5Ljc3MzczNyA1My42NTY1NjUgMTMwLjcxNTE1MnYxNjYuMjcwNzA3YzAgMTEuMzc3Nzc4LTkuMTc5Nzk4IDIwLjU1NzU3Ni0yMC41NTc1NzYgMjAuNTU3NTc1SDMwMi41NDU0NTVjLTUxLjU4Nzg3OSAwLTk4LjM5MTkxOS0yMC45NDU0NTUtMTMyLjI2NjY2Ny01NC42OTA5MDlDMTM2LjQwNDA0IDQwMC44MDgwODEgMTE1LjQ1ODU4NiAzNTQuMTMzMzMzIDExNS40NTg1ODYgMzAyLjU0NTQ1NWMwLTUxLjU4Nzg3OSAyMC45NDU0NTUtOTguMjYyNjI2IDU0LjgyMDIwMi0xMzIuMTM3Mzc0IDMzLjg3NDc0Ny0zMy43NDU0NTUgODAuNjc4Nzg4LTU0LjU2MTYxNiAxMzIuMjY2NjY3LTU0LjU2MTYxNnogbTEzMi4yNjY2NjYgNzM2Ljk2OTY5N2MtMzMuODc0NzQ3IDMzLjc0NTQ1NS04MC41NDk0OTUgNTQuNjkwOTA5LTEzMi4xMzczNzQgNTQuNjkwOTA5LTUxLjA3MDcwNyAwLTk3LjM1NzU3Ni0yMC40MjgyODMtMTMxLjEwMzAzLTUzLjUyNzI3My0wLjM4Nzg3OS0wLjM4Nzg3OS0wLjc3NTc1OC0wLjc3NTc1OC0xLjI5MjkyOS0xLjE2MzYzNi0zMy44NzQ3NDctMzMuNzQ1NDU1LTU0LjgyMDIwMi04MC40MjAyMDItNTQuODIwMjAyLTEzMi4xMzczNzQgMC01MS41ODc4NzkgMjAuOTQ1NDU1LTk4LjI2MjYyNiA1NC44MjAyMDItMTMyLjEzNzM3NCAzMy44NzQ3NDctMzMuNzQ1NDU1IDgwLjY3ODc4OC01NC42OTA5MDkgMTMyLjI2NjY2Ny01NC42OTA5MDloMTY2LjUyOTI5MmMxMS4zNzc3NzggMCAyMC41NTc1NzYgOS4zMDkwOTEgMjAuNTU3NTc2IDIwLjU1NzU3NnYxNjYuMjcwNzA3YzAgNTEuNTg3ODc5LTIwLjk0NTQ1NSA5OC4yNjI2MjYtNTQuODIwMjAyIDEzMi4xMzczNzR6IG0xNTQuMjQ2NDY1LTY4Mi4yNzg3ODhjMzMuODc0NzQ3LTMzLjc0NTQ1NSA4MC42Nzg3ODgtNTQuNjkwOTA5IDEzMi4yNjY2NjctNTQuNjkwOTA5IDUxLjcxNzE3MiAwIDk4LjUyMTIxMiAyMC45NDU0NTUgMTMyLjI2NjY2NiA1NC42OTA5MDlDODg3LjU5NTk2IDIwNC40MTIxMjEgOTA4LjU0MTQxNCAyNTEuMDg2ODY5IDkwOC41NDE0MTQgMzAyLjU0NTQ1NWMwIDUxLjU4Nzg3OS0yMC45NDU0NTUgOTguMTMzMzMzLTU0LjgyMDIwMiAxMzIuMDA4MDhsLTAuMTI5MjkzIDAuMTI5MjkzYy0zMy44NzQ3NDcgMzMuNzQ1NDU1LTgwLjU0OTQ5NSA1NC42OTA5MDktMTMyLjI2NjY2NiA1NC42OTA5MDlINTU0LjkyNTI1M2MtMTEuMzc3Nzc4IDAtMjAuNTU3NTc2LTkuMTc5Nzk4LTIwLjU1NzU3Ni0yMC41NTc1NzVWMzAyLjU0NTQ1NWMwLTUxLjQ1ODU4NiAyMC45NDU0NTUtOTguMjYyNjI2IDU0LjY5MDkwOS0xMzIuMDA4MDgxeiBtMCA2ODIuNzk1OTU5YzMzLjg3NDc0NyAzMy43NDU0NTUgODAuNjc4Nzg4IDU0LjY5MDkwOSAxMzIuMjY2NjY3IDU0LjY5MDkwOSA1MS43MTcxNzIgMCA5OC41MjEyMTItMjAuOTQ1NDU1IDEzMi4yNjY2NjYtNTQuNjkwOTA5IDMzLjg3NDc0Ny0zMy43NDU0NTUgNTQuODIwMjAyLTgwLjQyMDIwMiA1NC44MjAyMDItMTMyLjAwODA4IDAtNTEuNTg3ODc5LTIwLjk0NTQ1NS05OC4xMzMzMzMtNTQuODIwMjAyLTEzMi4wMDgwODFsLTAuMTI5MjkzLTAuMTI5MjkzYy0zMy44NzQ3NDctMzMuNzQ1NDU1LTgwLjU0OTQ5NS01NC42OTA5MDktMTMyLjEzNzM3My01NC42OTA5MDlINTU0LjkyNTI1M2MtMTEuMzc3Nzc4IDAtMjAuNTU3NTc2IDkuMTc5Nzk4LTIwLjU1NzU3NiAyMC41NTc1NzV2MTY2LjI3MDcwOGMwIDUxLjQ1ODU4NiAyMC45NDU0NTUgOTguMTMzMzMzIDU0LjY5MDkwOSAxMzIuMDA4MDh6IG0wIDAiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InRzayIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTUwMC43Nzc5MTMgNDY3LjczOTk2Yy0xMC43NTY5OTUgMC0yMS41MTUwMTMtNC4xMDU1MDQtMjkuNzI3MDQ1LTEyLjMxMDM3NEwzNTUuODQxOTM5IDM0MC4yMzI5MzhjLTE2LjQyNDA2NC0xNi40MjMwNDEtMTYuNDI0MDY0LTQzLjA0MzMyOSAwLTU5LjQ2MDIzIDE2LjM5NTQxMi0xNi40MjMwNDEgNDMuMDI5MDAyLTE2LjQxNTg3OCA1OS40NTMwNjctMC4wMDYxNGwxMTUuMjA4OTI4IDExNS4xOTY2NDljMTYuNDI0MDY0IDE2LjQyMzA0MSAxNi40MjQwNjQgNDMuMDQyMzA1IDAgNTkuNDU4MTgzQzUyMi4zMDYyMjggNDYzLjYzMzQzMyA1MTEuNTM1OTMxIDQ2Ny43Mzk5NiA1MDAuNzc3OTEzIDQ2Ny43Mzk5NnoiICA+PC9wYXRoPjxwYXRoIGQ9Ik01MjUuNzQxNDY3IDQ2Ny43Mzk5NmMtMTAuNzU2OTk1IDAtMjEuNTEzOTktNC4xMDU1MDQtMjkuNzI0OTk4LTEyLjMxMDM3NC0xNi40MjQwNjQtMTYuNDE1ODc4LTE2LjQyNDA2NC00My4wMzYxNjUgMC01OS40NjAyM2wxMTUuMTgyMzIyLTExNS4yMDg5MjhjMTYuMzk1NDEyLTE2LjQyNDA2NCA0My4wMjkwMDItMTYuNDE1ODc4IDU5LjQ1MzA2Ny0wLjAwNzE2MyAxNi40MjMwNDEgMTYuNDE1ODc4IDE2LjQyMzA0MSA0My4wMzYxNjUgMCA1OS40NTkyMDdsLTExNS4xODMzNDYgMTE1LjIwODkyOEM1NDcuMjcwODA2IDQ2My42MzM0MzMgNTM2LjQ5ODQ2MiA0NjcuNzM5OTYgNTI1Ljc0MTQ2NyA0NjcuNzM5OTZ6IiAgPjwvcGF0aD48cGF0aCBkPSJNNjYzLjQ1MTg3NiA1MjIuMjUyNTA1IDM2My4wNjc1MDQgNTIyLjI1MjUwNWMtMjMuMjI0OTU3IDAtNDIuMDQzNTU4LTE4LjgyNTc2NC00Mi4wNDM1NTgtNDIuMDQ0NTgyIDAtMjMuMjE3Nzk0IDE4LjgxODYwMS00Mi4wNDM1NTggNDIuMDQzNTU4LTQyLjA0MzU1OGwzMDAuMzgzMzQ4IDBjMjMuMjI1OTgxIDAgNDIuMDQ0NTgyIDE4LjgyNTc2NCA0Mi4wNDQ1ODIgNDIuMDQzNTU4QzcwNS40OTY0NTcgNTAzLjQyNjc0MSA2ODYuNjc3ODU2IDUyMi4yNTI1MDUgNjYzLjQ1MTg3NiA1MjIuMjUyNTA1eiIgID48L3BhdGg+PHBhdGggZD0iTTY2My40NTE4NzYgNjYyLjM5ODM4MiAzNjMuMDY3NTA0IDY2Mi4zOTgzODJjLTIzLjIyNDk1NyAwLTQyLjA0MzU1OC0xOC44MjU3NjQtNDIuMDQzNTU4LTQyLjA0MzU1OCAwLTIzLjIxODgxOCAxOC44MTg2MDEtNDIuMDQzNTU4IDQyLjA0MzU1OC00Mi4wNDM1NThsMzAwLjM4MzM0OCAwYzIzLjIyNTk4MSAwIDQyLjA0NDU4MiAxOC44MjQ3NDEgNDIuMDQ0NTgyIDQyLjA0MzU1OEM3MDUuNDk2NDU3IDY0My41NzE1OTQgNjg2LjY3Nzg1NiA2NjIuMzk4MzgyIDY2My40NTE4NzYgNjYyLjM5ODM4MnoiICA+PC9wYXRoPjxwYXRoIGQ9Ik01MTMuMjU5MTc4IDc3OS4xNDEyNDZjLTIzLjIyNDk1NyAwLTQyLjA0MzU1OC0xOC44MjQ3NDEtNDIuMDQzNTU4LTQyLjA0NDU4Mkw0NzEuMjE1NjIgNDg0LjE2MTk3OGMwLTIzLjIxNzc5NCAxOC44MTg2MDEtNDIuMDQzNTU4IDQyLjA0MzU1OC00Mi4wNDM1NThzNDIuMDQ0NTgyIDE4LjgyNTc2NCA0Mi4wNDQ1ODIgNDIuMDQzNTU4bDAgMjUyLjkzMzY2M0M1NTUuMzAzNzYgNzYwLjMxNTQ4MiA1MzYuNDg1MTU5IDc3OS4xNDEyNDYgNTEzLjI1OTE3OCA3NzkuMTQxMjQ2eiIgID48L3BhdGg+PHBhdGggZD0iTTUxMy4xMzYzODIgOTU4LjQ5ODE3Yy02MC45NTgzNSAwLjAwNzE2My0xMjEuODA3MjA3LTEyLjU4NTY0My0xNzkuMzQzNjIxLTM3LjcxMjkyN0MxMDcuMTYzMTgzIDgyMS44MDc5OTggMy4zMDU3OTEgNTU2LjkyNTE4OSAxMDIuMjc3OTIgMzMwLjMwOTkzOGM0Ny45MjI0NTMtMTA5Ljc3NjE5NiAxMzUuNzM5NTIxLTE5NC4zMjI3NzcgMjQ3LjI2NzYxNy0yMzguMDUwNjk4IDExMS41MTU4MTYtNDMuNzQwMiAyMzMuMzkwNTYxLTQxLjQwNzA2MiAzNDMuMTUzNDU0IDYuNTI4Njk0IDIxLjI4MjcyMiA5LjI5MzY2NyAzMS4wMDAwMzggMzQuMDcwOTggMjEuNzA2MzcxIDU1LjM1MzcwMi05LjI3ODMxNyAyMS4yNjgzOTYtMzQuMDM3MjExIDMxLjAyNTYyMS01NS4zNDY1MzkgMjEuNjk5MjA4LTg5LjE5MjM5Mi0zOC45NTcyNjctMTg4LjIyNTkxOS00MC44MTg2NjEtMjc4LjgxNDEtNS4zMDI3NzNDMjg5LjYyNzg4OCAyMDYuMDc0NDI2IDIxOC4yODE5NTcgMjc0Ljc2NDg3NyAxNzkuMzM3OTkzIDM2My45NTcyNjljLTgwLjQxMzQ0OCAxODQuMTI3NTc4IDMuOTY4MzgxIDM5OS4zNDkzMzcgMTg4LjEwOTI2MiA0NzkuNzY4OTI1IDg5LjE1MTQ1OSAzOC45MzY4MDEgMTg4LjIxMjYxNiA0MC44MTk2ODQgMjc4LjgxNTEyMyA1LjMwMzc5NiA5MC42MDI1MDctMzUuNTI5MTkxIDE2MS45NDg0MzktMTA0LjIyMDY2NiAyMDAuODk4NTQzLTE5My40MjAyMjEgNTYuNjczNzY3LTEyOS43Mzc4MyAzMi41NDYyNTQtMjgyLjAxNzA0OC02MS40OTI1MTYtMzg3Ljk1NTg0Ni0xNS40MTA5OTEtMTcuMzY3NTUzLTEzLjgyMTc5Ny00My45NDU4ODUgMy41NDU3NTYtNTkuMzU2ODc2IDE3LjM4MDg1Ni0xNS40MDI4MDUgNDMuOTMyNTgyLTEzLjgyMjgyIDU5LjM1Njg3NiAzLjUzMTQzIDExNS43MDMxODUgMTMwLjM3NDMyNiAxNDUuNDAyNjAxIDMxNy43NzIzOSA3NS42NDM4MTcgNDc3LjQzNTc4Ny00Ny45Mjg1OTIgMTA5Ljc3MTA3OS0xMzUuNzM5NTIxIDE5NC4zMTY2MzctMjQ3LjI1NDMxNCAyMzguMDQzNTM0QzYyMy44OTgwMjEgOTQ4LjExODc3NSA1NjguNDY4NTk0IDk1OC40OTgxNyA1MTMuMTM2MzgyIDk1OC40OTgxN3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9ImZlbnhpYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTA5Ljc2MjE2MjMxIDYyYTM4LjA2NzU2NzE5IDM4LjA2NzU2NzE5IDAgMSAxIDAgNzYuMTM1MTM1MjZjLTIwNS4yOTcyOTc1NiAwLTM3MS43MjQzMjQ2MSAxNjYuNDUxMzUxNjYtMzcxLjcyNDMyNDYyIDM3MS43MjQzMjQ2MVMzMDQuNDY0ODY0NzQgODgxLjQ4NjQ4NjkxIDUwOS43NjIxNjIzMSA4ODEuNDg2NDg2OTFjMjA1LjI5NzI5NzU2IDAgMzcxLjcyNDMyNDYxLTE2Ni40MjcwMjcwNSAzNzEuNzI0MzI0NjEtMzcxLjcyNDMyNDYxYTM4LjA2NzU2NzE5IDM4LjA2NzU2NzE5IDAgMSAxIDc2LjAzNzgzNzY5IDBjMCAyNDcuMjgxMDgxMTUtMjAwLjQ4MTA4MTE1IDQ0Ny43NjIxNjIzLTQ0Ny43NjIxNjIzIDQ0Ny43NjIxNjIzMVM2MiA3NTcuMDQzMjQzNDYgNjIgNTA5Ljc2MjE2MjMxIDI2Mi40ODEwODExNSA2MiA1MDkuNzYyMTYyMzEgNjJ6IG0yMzAuNDcyOTcyOTUgMTkwLjM4NjQ4NjkxYTM3LjQzNTEzNTI2IDM3LjQzNTEzNTI2IDAgMCAxIDUzLjE0ODY0ODMzLTUyLjU4OTE4OTM1bDY1LjU1NDA1NDExIDY1LjYwMjcwMjQ0YTUwLjU0NTk0NTg5IDUwLjU0NTk0NTg5IDAgMCAxIDAgNzEuNTYyMTYyM2wtNjUuNTU0MDU0MTEgNjUuNTU0MDU0MTFhMzcuMzg2NDg2OTIgMzcuMzg2NDg2OTIgMCAwIDEtNTIuODMyNDMxOTMtNTIuODgxMDgxMTVsMTEuMTE2MjE1NTMtMTEuMDkxODkxOGgtNDguMjgzNzgzNmMtMTMxLjI1NDA1NDEgMC0xNzUuODE2MjE2NDEgNTUuODcyOTcyOTUtMTc1LjgxNjIxNjQgMjI0Ljg3ODM3NzgzIDAgMjAuNy0xNi42ODY0ODY5MSAzNy4zODY0ODY5Mi0zNy40MTA4MTA2NSAzNy4zODY0ODY5MWEzNy4zMTM1MTMwOSAzNy4zMTM1MTMwOSAwIDAgMS0zNy4zNjIxNjIzLTM3LjM4NjQ4NjkxYzAtMjA4Ljk3MDI3MDUgNzYuMjgxMDgxMTUtMjk5LjY1MTM1MTY2IDI1MC41ODkxODkzNS0yOTkuNjUxMzUwNzloNDguMjM1MTM1MjZsLTExLjM4Mzc4MzU5LTExLjM4Mzc4MzU4eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0icGluZ2x1biIgdmlld0JveD0iMCAwIDEwMzUgMTAyNCI+PHBhdGggZD0iTTkwNS44OTkgNDQuMDMySDEyOS4zNjVDNTguMDI3IDQ0LjAzMiAwIDEwMi4wNTkgMCAxNzMuMzk3djUxOC4xNDRjMCA3MS4zMzkgNTguMDI3IDEyOS4zNjYgMTI5LjM2NSAxMjkuMzY2aDI1My45NTJsMTM0LjE0NCAxNjMuODQgMTMzLjgwMy0xNjMuODRoMjU0LjI5M2M3MS4zMzkgMCAxMjkuMzY2LTU4LjAyNyAxMjkuMzY2LTEyOS4zNjZWMTczLjM5N2MwLjM0MS03MS4zMzgtNTcuNjg2LTEyOS4zNjUtMTI5LjAyNC0xMjkuMzY1ek0yMzYuODg1IDQ5OC4wMDVjLTM0LjQ3NCAwLTYyLjQ2NC0yNy45ODktNjIuNDY0LTYyLjQ2NCAwLTM0LjQ3NCAyNy45OS02Mi40NjQgNjIuNDY0LTYyLjQ2NCAzNC40NzUgMCA2Mi40NjQgMjcuOTkgNjIuNDY0IDYyLjQ2NCAwIDM0LjQ3NS0yNy45ODkgNjIuNDY0LTYyLjQ2NCA2Mi40NjR6IG0yODEuMjU5IDBjLTM0LjQ3NSAwLTYyLjQ2NC0yNy45ODktNjIuNDY0LTYyLjQ2NCAwLTM0LjQ3NCAyNy45OS02Mi40NjQgNjIuNDY0LTYyLjQ2NCAzNC40NzUgMCA2Mi40NjQgMjcuOTkgNjIuNDY0IDYyLjQ2NCAwIDM0LjQ3NS0yNy45OSA2Mi40NjQtNjIuNDY0IDYyLjQ2NHogbTI4MS4yNTkgMGMtMzQuNDc1IDAtNjIuNDY0LTI3Ljk4OS02Mi40NjQtNjIuNDY0IDAtMzQuNDc0IDI3Ljk4OS02Mi40NjQgNjIuNDY0LTYyLjQ2NCAzNC40NzQgMCA2Mi40NjQgMjcuOTkgNjIuNDY0IDYyLjQ2NCAwIDM0LjQ3NS0yNy45OSA2Mi40NjQtNjIuNDY0IDYyLjQ2NHogbTAgMCIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0id2VuemhhbmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04MzcgNjYuOEgxOTAuNWMtNTUuMiAwLTk5LjUgNDQuMy05OS41IDk4Ljl2Njk0LjZjMCA1NC42IDQ0LjYgOTguOSA5OS41IDk4LjlIODM3YzU1LjIgMCA5OS41LTQ0LjMgOTkuNS05OC45VjE2NS44YzAtNTQuNy00NC41LTk5LTk5LjUtOTl6TTI5NS45IDE5Ni4yYzQxLjUgMCA3NS4yIDMzLjQgNzUuMiA3NS4yIDAgNDEuNS0zMy40IDc1LjItNzUuMiA3NS4yLTQxLjUgMC03NS4yLTMzLjQtNzUuMi03NS4yIDAtNDEuNiAzMy40LTc1LjIgNzUuMi03NS4yeiBtMjI3LjYgNTYwLjVIMjIwLjd2LTQ5LjZoMzAyLjh2NDkuNnogbTE3My0xMjkuNEgyMjAuN3YtNDkuNmg0NzUuN3Y0OS42eiBtMC0xMjkuM0gyMjAuN3YtNDkuNmg0NzUuN1Y0OTh6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJodWlmdSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTYyNS4xMzYgODU3LjZhNTQuMjQgNTQuMjQgMCAwIDEtMzkuNjU3Ni0xNy43NTA0IDU3LjYgNTcuNiAwIDAgMS0xNS4yMjU2LTM3LjkyOTZoLTAuMDU3NlY2ODYuNDUxMnYtMC43Mi0xLjM3MjhhMzguMTc5MiAzOC4xNzkyIDAgMCAwLTM3LjQ0LTM3LjE2MTZ2LTAuMDU3NmMtOTYuODgzMiAyLjA5MjgtMTY2LjgwOTYgMTAuMzM5Mi0yMjYuNTYgMjYuNzE2OEE0MTEuNzM0NCA0MTEuNzM0NCAwIDAgMCAxMjcuMzc2IDc3Mi4xNmwtMy40MjcyIDMuMjQ0OHEtMS4yNTc2IDEuMTkwNC0yLjUxNTIgMi40Mjg4bC0xLjM5MiAxLjM1MzYtMi4wMjU2IDEuNTE2OGE1NC4xMTUyIDU0LjExNTIgMCAwIDEtMzEuMTYxNiA5Ljg0IDU1Ljc1NjggNTUuNzU2OCAwIDAgMS00OS42MTI4LTc5LjM1MzZBNzc0LjM4NCA3NzQuMzg0IDAgMCAxIDIwOC4xNzkyIDQ2NC45NiA1NDYuMTgyNCA1NDYuMTgyNCAwIDAgMSA1MzcuNzI4IDMxNS4zMzQ0YTM3LjY4IDM3LjY4IDAgMCAwIDMyLjQ4NjQtMzYuOTZ2LTAuNzQ4OFYxODMuNjhoMC4wNTc2YTU3LjcxNTIgNTcuNzE1MiAwIDAgMSAxNS4xODcyLTM3Ljg1MjggNTMuNTc3NiA1My41Nzc2IDAgMCAxIDc0Ljg4LTQuOGwwLjU1NjggMC40MTI4YzAuMzg0IDAuMzQ1NiAwLjk2IDAuODU0NCAxLjY4IDEuNTQ1Nkw5NTkuMTY4IDQxNi45NmMwLjYyNCAwLjUxODQgMS4yMjg4IDEuMDQ2NCAxLjgwNDggMS42MDMybDMuODQgMy42Mjg4YTkzLjE3NzYgOTMuMTc3NiAwIDAgMSA1Ljc2IDEyNS4xMjY0bC0wLjk2IDEuMTIzMi0xMS44MzY4IDExLjM2NjQtMjkzLjUyOTYgMjgxLjEzNmEzNS42NTQ0IDM1LjY1NDQgMCAwIDEtMi43NDU2IDIuNjQ5NkE1NC40NDE2IDU0LjQ0MTYgMCAwIDEgNjI1LjEzNiA4NTcuNnogbS0xLjI3NjgtNTYuODEyOGE0LjggNC44IDAgMCAwIDEuNDc4NCAzLjM5ODRsMC4wNTc2LTAuMDc2OCAzMDQuNjc1Mi0yOTEuNzQ0YTQwLjE3NiA0MC4xNzYgMCAwIDAtMi44MTI4LTUxLjk5MzZoLTAuMDU3Nkw2MjUuMzY2NCAxODEuNDI0YTQuOTcyOCA0Ljk3MjggMCAwIDAtMS40Njg4IDMuNDI3MlYyNzYuOTUzNmMwIDAuODkyOCAwIDIuMDU0NC0wLjA2NzIgMy40MjcyYTkxLjI5NiA5MS4yOTYgMCAwIDEtODAuNTkyIDg3Ljk5MzZoLTAuMjc4NGE0OTMuNjEyOCA0OTMuNjEyOCAwIDAgMC0yOTcuOTA3MiAxMzUuMzZBNzIxLjY5OTIgNzIxLjY5OTIgMCAwIDAgODYuMDU3NiA3MzMuMzA4OGwtMC4xNzI4IDAuNDUxMmEyLjUwNTYgMi41MDU2IDAgMCAwLTAuMjMwNCAxLjE1MiAyLjY2ODggMi42Njg4IDAgMCAwIDAuOTYgMi4yNjU2YzEuMjE5Mi0xLjE3MTIgMi40NTc2LTIuMzUyIDMuNjg2NC0zLjUwNGw3Ljc4NTYtNy40MTEyaDAuMjc4NGMxMTUuODYyNC0xMDQuNTYzMiAyNTguMDU3Ni0xMjguNzI2NCA0MzUuMDgxNi0xMzIuMzg0djAuMDA5NmE5Mi4xNiA5Mi4xNiAwIDAgMSA5MC4zODQgODguNDczNmMwLjA0OCAxLjE0MjQgMC4wNzY4IDIuMjY1NiAwLjA2NzIgMy4zOTg0djExNC45NzkyeiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iZ3VhaXFpYW8iIHZpZXdCb3g9IjAgMCAxODA2IDEwMjQiPjxwYXRoIGQ9Ik0yMzIuODExNTA2IDEwMjRBOTAzLjk0NDgyOCA5MDMuOTQ0ODI4IDAgMCAxIDEwMi43MDY0NjYgMGw0OC4zNDgwMTEgMjUuMjYwNDc3YTg0OS4wNzc5ODQgODQ5LjA3Nzk4NCAwIDAgMCAxMjEuOTU2NDk5IDk2MS41Mjc4NTJ6TTE1NzIuNzAzMjgzIDEwMjRsLTQwLjE5OTQ2OS0zNi42Njg0MzVBODQ5Ljg5MjgzOCA4NDkuODkyODM4IDAgMCAwIDE2NTUuMjc1MTY3IDI1LjI2MDQ3N0wxNzAzLjM1MTU1OSAwYTkwNC40ODgwNjQgOTA0LjQ4ODA2NCAwIDAgMS0xMzAuNjQ4Mjc2IDEwMjR6TTg5OC4yNzU2OTcgOTM0LjA5NDQzYy0xMjMuMzE0NTg5IDAtMjIzLjI3MDAyNy05MS41MzUyNzktMjIzLjI3MDAyNi0yMDQuMjU2NzY0aDU0LjMyMzYwN2MwIDgxLjQ4NTQxMSA3NS43ODE0MzIgMTQ5LjkzMzE1NiAxNjguOTQ2NDE5IDE0OS45MzMxNTZzMTY4Ljk0NjQxOS02Ny4zNjEyNzMgMTY4Ljk0NjQxOS0xNDkuOTMzMTU2aDU0LjMyMzYwOGMwIDExMi43MjE0ODUtMTAwLjIyNzA1NiAyMDQuMjU2NzY0LTIyMy4yNzAwMjcgMjA0LjI1Njc2NHoiIGZpbGw9IiM0RDRENEQiID48L3BhdGg+PHBhdGggZD0iTTIzMi44MTE1MDYgMTAyNEE5MDMuOTQ0ODI4IDkwMy45NDQ4MjggMCAwIDEgMTAyLjcwNjQ2NiAwbDQ4LjM0ODAxMSAyNS4yNjA0NzdhODQ5LjA3Nzk4NCA4NDkuMDc3OTg0IDAgMCAwIDEyMS45NTY0OTkgOTYxLjUyNzg1MnpNMTU3Mi43MDMyODMgMTAyNGwtNDAuMTk5NDY5LTM2LjY2ODQzNUE4NDkuODkyODM4IDg0OS44OTI4MzggMCAwIDAgMTY1NS4yNzUxNjcgMjUuMjYwNDc3TDE3MDMuMzUxNTU5IDBhOTA0LjQ4ODA2NCA5MDQuNDg4MDY0IDAgMCAxLTEzMC42NDgyNzYgMTAyNHpNODk4LjI3NTY5NyA5MzQuMDk0NDNjLTEyMy4zMTQ1ODkgMC0yMjMuMjcwMDI3LTkxLjUzNTI3OS0yMjMuMjcwMDI2LTIwNC4yNTY3NjRoNTQuMzIzNjA3YzAgODEuNDg1NDExIDc1Ljc4MTQzMiAxNDkuOTMzMTU2IDE2OC45NDY0MTkgMTQ5LjkzMzE1NnMxNjguOTQ2NDE5LTY3LjM2MTI3MyAxNjguOTQ2NDE5LTE0OS45MzMxNTZoNTQuMzIzNjA4YzAgMTEyLjcyMTQ4NS0xMDAuMjI3MDU2IDIwNC4yNTY3NjQtMjIzLjI3MDAyNyAyMDQuMjU2NzY0ek0xNTAwLjE4MTI2NyAyNDcuOTg3MjY4aC01NC4zMjM2MDdjMC04Mi44NDM1MDEtNzUuNzgxNDMyLTE1MC4yMDQ3NzUtMTY4Ljk0NjQxOS0xNTAuMjA0Nzc1cy0xNjguOTQ2NDE5IDY3LjM2MTI3My0xNjguOTQ2NDE5IDE1MC4yMDQ3NzVoLTU0LjMyMzYwOGMwLTExMi43MjE0ODUgMTAwLjIyNzA1Ni0yMDQuNTI4MzgyIDIyMy4yNzAwMjctMjA0LjUyODM4MnMyMjMuMjcwMDI3IDkxLjgwNjg5NyAyMjMuMjcwMDI2IDIwNC41MjgzODJ6TTc0Mi45MTAxOCAyNDcuOTg3MjY4aC01NC4zMjM2MDdjMC04Mi44NDM1MDEtNzUuNzgxNDMyLTE1MC4yMDQ3NzUtMTY5LjIxODAzOC0xNTAuMjA0Nzc1cy0xNjguOTQ2NDE5IDY3LjM2MTI3My0xNjguOTQ2NDE5IDE1MC4yMDQ3NzVoLTU0LjMyMzYwN2MwLTExMi43MjE0ODUgMTAwLjIyNzA1Ni0yMDQuNTI4MzgyIDIyMy4yNzAwMjYtMjA0LjUyODM4MnMyMjMuNTQxNjQ1IDkxLjgwNjg5NyAyMjMuNTQxNjQ1IDIwNC41MjgzODJ6IiBmaWxsPSIjNEQ0RDREIiA+PC9wYXRoPjxwYXRoIGQ9Ik0xNTYuNTE0IDUzMS4wMTMyNjNsNDUuMjc4NzI2LTEyOC42MTExNDEgNTEuMjU0MzI0IDE4LjAzNTQzOC00NS4yNzg3MjcgMTI4LjYxMTE0ek0yOTUuNTAwOTQ5IDUzMC44Nzc0NTRsNDIuMzE4MDktMTE2LjY4NzEwOSA1MS4wNjQxOTEgMTguNTI0MzUtNDIuMzE4MDkgMTE2LjY4NzEwOXpNMTQwNy43MjI0ODggNTMwLjg1MDI5Mmw0NS4yNTE1NjUtMTI4LjYzODMwMyA1MS4yNTQzMjMgMTguMDM1NDM4LTQ1LjI1MTU2NSAxMjguNjM4MzAyek0xNTQ2LjQxMDY1NyA1MzAuNTI0MzVsNDIuMjkwOTI5LTExNi43MTQyNyA1MS4wNjQxOTEgMTguNDk3MTg4LTQyLjI5MDkyOSAxMTYuNzE0Mjd6IiBmaWxsPSIjNEQ0RDREIiA+PC9wYXRoPjxwYXRoIGQ9Ik0xNTYuNTE0IDUzMS4wMTMyNjNsNDUuMjc4NzI2LTEyOC42MTExNDEgNTEuMjU0MzI0IDE4LjAzNTQzOC00NS4yNzg3MjcgMTI4LjYxMTE0ek0yOTUuNTAwOTQ5IDUzMC44Nzc0NTRsNDIuMzE4MDktMTE2LjY4NzEwOSA1MS4wNjQxOTEgMTguNTI0MzUtNDIuMzE4MDkgMTE2LjY4NzEwOXpNMTQwNy43MjI0ODggNTMwLjg1MDI5Mmw0NS4yNTE1NjUtMTI4LjYzODMwMyA1MS4yNTQzMjMgMTguMDM1NDM4LTQ1LjI1MTU2NSAxMjguNjM4MzAyek0xNTQ2LjQxMDY1NyA1MzAuNTI0MzVsNDIuMjkwOTI5LTExNi43MTQyNyA1MS4wNjQxOTEgMTguNDk3MTg4LTQyLjI5MDkyOSAxMTYuNzE0Mjd6IiBmaWxsPSIjNEQ0RDREIiA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9ImllIiB2aWV3Qm94PSIwIDAgMTAyNSAxMDI0Ij48cGF0aCBkPSJNNzcyLjcxMDQ2NyA1OTEuMmwyNDguNiAwYzEuOS0xNy4yIDIuNy0zNC43IDIuNy01Mi44IDAtODQuNC0yMi43LTE2My44LTYyLjItMjMyIDQwLjgtMTA4LjcgMzkuNS0yMDEtMTUuMy0yNTYuMi01Mi4zLTUxLjktMTkxLjktNDMuNC0zNTAgMjYuNi0xMS43LTAuOS0yMy41LTEuMy0zNS40LTEuMy0yMTYuOSAwLTM5OC44IDE0OS4yLTQ0OS4xIDM1MC4zIDY3LjktODcuMSAxMzkuNi0xNTAuMyAyMzUuMi0xOTYuMy04LjcgOC01OS40IDU4LjYtNjcuOSA2Ny4yQzI3LjAxMDQ2NyA1NDguOC01Mi4zODk1MzMgODc4LjEgMzMuMTEwNDY3IDk2My43YzY1IDY1IDE4Mi45IDUzLjkgMzE4LjMtMTIuMyA2MyAzMi4yIDEzNC4yIDUwIDIwOS43IDUwIDIwMy4zIDAgMzc1LjYtMTMxIDQzOC0zMTMuMUw3NDguNzEwNDY3IDY4OC4zQzcxNC4yMTA0NjcgNzUyIDY0Ny4wMTA0NjcgNzk1LjEgNTY5LjUxMDQ2NyA3OTUuMWMtNzcuMyAwLTE0NC43LTQzLjMtMTc5LjItMTA2LjgtMTUuMy0yOC43LTI0LjEtNjEuNi0yNC4xLTk2LjVMMzY2LjIxMDQ2NyA1OTEgNzcyLjcxMDQ2NyA1OTEuMiA3NzIuNzEwNDY3IDU5MS4yek0zNjYuNjEwNDY3IDQ2OS4yYzUuNy0xMDIuMiA5MC44LTE4My45IDE5NC41LTE4My45czE4OC44IDgxLjYgMTk0LjUgMTgzLjlMMzY2LjYxMDQ2NyA0NjkuMiAzNjYuNjEwNDY3IDQ2OS4yek05NDQuMTEwNDY3IDEwMS44YzM1LjMgMzUuNyAzNC40IDEwMS4zIDQuMSAxODMuMi01MS42LTc5LTEyNi44LTE0MS4xLTIxNS41LTE3Ni42QzgyNy43MTA0NjcgNjcuOSA5MDQuNzEwNDY3IDYyLjQgOTQ0LjExMDQ2NyAxMDEuOEw5NDQuMTEwNDY3IDEwMS44IDk0NC4xMTA0NjcgMTAxLjh6TTk4LjQxMDQ2NyA5NDcuNWMtNDUtNDUtMzEuNS0xMzkuNiAyNi42LTI1My41IDM2IDEwMS4zIDEwNi41IDE4Ni41IDE5Ny4yIDI0MS4yQzIyMS43MTA0NjcgOTgwLjggMTM5LjUxMDQ2NyA5ODguNSA5OC40MTA0NjcgOTQ3LjVMOTguNDEwNDY3IDk0Ny41eiIgZmlsbD0iIzUxNTE1MSIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJmaXJlZm94IiB2aWV3Qm94PSIwIDAgMTAyNSAxMDI0Ij48cGF0aCBkPSJNNTE2LjAxMDY2NyAxMDI0cS0xNjEuNzA2NjY3IDAtMjg4LjI3NzMzMy04NS45OTQ2Njd0LTE4OC4yODgtMjI3LjcxMnEtMzMuMTUyLTc0Ljg1ODY2Ny0zOC4yOTMzMzMtMTcyLjAxMDY2N3QxNC44NDgtMTg5Ljk5NDY2NyA2My40MjQtMTc4LjI4MjY2NyAxMDIuMjkzMzMzLTEzOC41ODEzMzNsLTYuMjkzMzMzIDE2MC41NzZxNi4yOTMzMzMtOCAzOC44NDgtOC44NTMzMzN0NDAgOC44NTMzMzNxMjQtNDYuMjkzMzMzIDkxLjcxMi03OC44NDh0MTMzLjk5NDY2Ny0zMy43MDY2NjdxLTMwLjg0OCAyNS43MDY2NjctNjguMjg4IDg0Ljg2NHQtMzMuNDI5MzMzIDkzLjQxODY2N3ExNC4yOTMzMzMgNC41NjUzMzMgMzUuNzEyIDcuNzIyNjY3dDM2LjAxMDY2NyA0LjI4OCAzOC44NDggMi4yODI2NjcgMjguODY0IDEuNzA2NjY3cTguNTc2IDIuODU4NjY3IDUuNDE4NjY3IDI2LjAwNTMzM3QtMTcuNDI5MzMzIDQzLjEzNnEtMi44NTg2NjcgNC4wMTA2NjctOS40MjkzMzMgMTAuNTgxMzMzdC0zMi4yNzczMzMgMjAuMjg4LTU3LjcwNjY2NyAxOS40MzQ2NjdsOC41NzYgMTA4LjAxMDY2Ny03OS40MjQtMzguMjkzMzMzcS0xMC4yODI2NjcgMjQuNTc2LTQuMjg4IDQ2LjU3MDY2N3QyMC41NjUzMzMgMzcuOTk0NjY3IDM3LjQxODY2NyAyMy43MjI2NjcgNDYuMjkzMzMzIDMuNzEycTI5LjE0MTMzMy01LjE0MTMzMyA1Ni0xOS43MTJ0NDcuNzIyNjY3LTI1LjcwNjY2NyA0Mi4wMDUzMzMtMTAuMDA1MzMzcTM0Ljg1ODY2NyAyLjI4MjY2NyA1MS4xMzYgMTguODU4NjY3dDExLjEzNiAzNy4xNDEzMzNxLTAuNTc2IDEuMTUyLTEuNDI5MzMzIDMuMTM2dC00Ljg2NCA3LjE0NjY2Ny0xMC4yODI2NjcgOC44NTMzMzMtMTguMDA1MzMzIDUuOTk0NjY3LTI2LjU4MTMzMyAwLjU3NnEtMzQuMjgyNjY3IDU0LjI5MzMzMy04Mi41ODEzMzMgNzcuNDE4NjY3dC0xMTkuNzIyNjY3IDE2Ljg1MzMzM3E0Mi4yODI2NjcgMzQuODU4NjY3IDkyLjg2NCA0Ny4xNDY2Njd0OTYuMjc3MzMzIDMuNDM0NjY3IDg4LjI3NzMzMy0yOS43MTczMzMgNzMuMTUyLTUwLjAwNTMzMyA0NS45OTQ2NjctNTkuNDM0NjY3cTI0LjU3Ni01Mi4wMTA2NjcgMjIuMjkzMzMzLTEwOS45OTQ2Njd0LTIxLjQxODY2Ny0xMDcuNzEyLTQ0Ljg2NC03MS40MjRxNDkuNzA2NjY3IDIxLjcxNzMzMyA3OC4yOTMzMzMgNDUuNDE4NjY3dDQ0LjAxMDY2NyA2NC4yNzczMzNxOC41NzYtOTcuMTUyLTMyLjg1MzMzMy0xOTYuMDEwNjY3dC0xMTkuNzIyNjY3LTE2Mi4yODI2NjdxMTUxLjQyNCA0NC4wMTA2NjcgMjM1LjQzNDY2NyAxNTkuNzIyNjY3dDg2LjI5MzMzMyAyOTUuNzIyNjY3cTEuMTUyIDcyLjU3Ni0yMy4xNDY2NjcgMTQ1LjcwNjY2N3QtNzAuNTcwNjY3IDEzNi0xMDguMDEwNjY3IDExMi0xNDEuNDE4NjY3IDc3LjQxODY2Ny0xNjQuODY0IDI4LjI4OHoiIGZpbGw9IiM1MTUxNTEiID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iY2hyb21lIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTEwLjI5MzcxNCAwLjAyMTMyOXExMzcuMTIxNDA1LTEuMTUxNzQzIDI1Ny42NDkxNzkgNjguNTUwMDM4IDEzMi41MzU3NjEgNzYuNTQ4MjU0IDIwMS4xMDcxMjggMjEyLjUxNzkxNWwtNDIzLjkwNTQxNi0yMi4yODgzNnEtOTEuNDE0MjctNS4xNDAxODYtMTY3Ljk2MjUyMyA0Mi41NzE4MzR0LTEwNS42ODMwODYgMTMxLjEwNjc0N2wtMTU3LjY4MjE1MS0yNDIuMjI4NjE5cTczLjEzNTY4Mi05MC44MzgzOTggMTc3LjY2NzAyNS0xNDAuMjU2NzA1dDIxOC44MDk4NDUtNDkuOTk0MTc4ek04My41MzAyNjkgMjMxLjM5MzcwNGwxOTIuNTMzMDQxIDM3OC43NzQxNTNxNDEuMTQyODIgODEuNjg4NDQgMTIwLjU0OTEwMiAxMjMuOTgzMDAzdDE2Ny4zODY2NTIgMjUuNzAwOTMybC0xMzEuNDA1MzQ3IDI1Ny42NDkxNzlxLTEyMS4xMjQ5NzQtMTguODU0NDYtMjE5Ljk2MTU4OC04OS45ODUyNTV0LTE1NS42NzcyNjUtMTgwLjUyNTA1NC01Ni44NDA2NTEtMjM1LjA4MzU0N3EwLTE1Mi41NDE5NjQgODMuNDE2MDU0LTI4MC41MTM0MXpNOTg5LjYxMDc2NiAzMjcuOTQ4MTZxMzMuMTQ0NjA1IDg1LjY5ODIxMiAzMy45OTc3NDggMTc3LjM4OTc1M3QtMjcuNzA1ODE4IDE3NC44MDg5OTYtODcuNDA0NDk4IDE1NS4zOTk5OTMtMTQwLjUzMzk3NyAxMTkuNjk1OTZxLTEzMS40MDUzNDcgNzUuOTkzNzExLTI4NC41MDE4NTQgNjcuOTk1NDk1bDIzMS4zNzIzNzUtMzU1LjkwOTkyMXE1MC4yNzE0NS03NC44NDE5NjggNDcuMTM2MTQ5LTE2NS45NTc2Mzd0LTYwLjg1MDQyMy0xNTguNTM1Mjkzek01MTIgMzM5LjM4MDI3NnE3MS40MDgwNjcgMCAxMjEuOTc4MTE3IDUwLjU3MDA1dDUwLjU3MDA1IDEyMS45NzgxMTctNTAuNTcwMDUgMTIxLjk3ODExNy0xMjEuOTc4MTE3IDUwLjU3MDA1LTEyMS45NzgxMTctNTAuNTcwMDUtNTAuNTcwMDUtMTIxLjk3ODExNyA1MC41NzAwNS0xMjEuOTc4MTE3IDEyMS45NzgxMTctNTAuNTcwMDV6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJkaWFubmFvIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNOTQ4LjM0Mjc4NCA2MS40NEg3Mi45Nzg0MzJDMzIuNjYzNTUyIDYxLjQ0IDAgOTQuMTAzNTUyIDAgMTM0LjQxODQzMnY2MjAuMDk3NTM2YzAgNDAuMzE0ODggMzIuNjYzNTUyIDcyLjk3ODQzMiA3Mi45Nzg0MzIgNzIuOTc4NDMyaDMzNi43MzIxNmMtNTcuNzM5MjY0IDMxLjgyNzk2OC05OS42NjM4NzIgNzIuOTc4NDMyLTk5LjY2Mzg3MiA3Mi45Nzg0MzItMzAuMjIwMjg4IDAtNTQuNzE4NDY0IDE2LjMzMjgtNTQuNzE4NDY0IDM2LjQ1NjQ0OCAwIDIwLjEyNTY5NiAyNC40OTgxNzYgMzYuNDU2NDQ4IDU0LjcxODQ2NCAzNi40NTY0NDhoNDM3LjY4MjE3NmMzMC4yMjAyODggMCA1NC43MTg0NjQtMTYuMzMyOCA1NC43MTg0NjQtMzYuNDU2NDQ4IDAtMjAuMTI1Njk2LTI0LjQ5ODE3Ni0zNi40NTY0NDgtNTQuNzE4NDY0LTM2LjQ1NjQ0OCAwIDAtNDAuNzY1NDQtNDEuMDg2OTc2LTk3LjI4NDA5Ni03Mi45Nzg0MzJoMjk3Ljg5NTkzNmM0MC4zMTQ4OCAwIDcyLjk3ODQzMi0zMi42NjM1NTIgNzIuOTc4NDMyLTcyLjk3ODQzMlYxMzQuNDE4NDMyQzEwMjEuMzIxMjE2IDk0LjEwMzU1MiA5ODguNjU3NjY0IDYxLjQ0IDk0OC4zNDI3ODQgNjEuNDR6IG0wIDQ3NC4yMDIxMTJjMCA0MC4zMTQ4OC0zMi42NjM1NTIgNzIuOTc4NDMyLTcyLjk3ODQzMiA3Mi45Nzg0MzJIMTQ1Ljg5MzM3NmMtNDAuMzE0ODggMC03Mi45Nzg0MzItMzIuNjYzNTUyLTcyLjk3ODQzMi03Mi45Nzg0MzJWMjA3LjMzMzM3NmMwLTQwLjMxNDg4IDMyLjY2MzU1Mi03Mi45Nzg0MzIgNzIuOTc4NDMyLTcyLjk3ODQzMmg3MjkuNTMyNDE2YzQwLjMxNDg4IDAgNzIuOTc4NDMyIDMyLjY2MzU1MiA3Mi45Nzg0MzIgNzIuOTc4NDMydjMyOC4zMDg3MzZoLTAuMDYxNDR6IiBmaWxsPSIjNTE1MTUxIiA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InBpbmdndW8iIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04MzkuNTk1IDY3My43NDRjMjguMTYgMzkuODM0IDYwLjQzNiA2NS41ODcgOTYuODM5IDc3LjI2LTE1Ljc5IDQ4Ljc2My00MC44NTggOTkuNTgzLTc1LjIwMiAxNTIuNDYyLTUyLjg4IDc5LjY2Ny0xMDUuMDgyIDExOS41LTE1Ni41ODkgMTE5LjUtMTkuMjMgMC00Ny43MjgtNi41MjMtODUuNTAzLTE5LjU2OS0zNS4wMi0xMy4wNTYtNjUuNTg2LTE5LjU3OC05MS42ODgtMTkuNTc4LTI2LjA5MSAwLTU0LjkzNyA2Ljg3LTg2LjUzNyAyMC42MDItMzIuOTYzIDEzLjA1Ni02MC4wODggMTkuNTc5LTgxLjM3NyAxOS41NzktNjEuODA4IDAtMTIyLjU5Mi01Mi41NC0xODIuMzQyLTE1Ny42MjMtNTkuNzUtMTAzLjctODkuNjMtMjA1LjY4OS04OS42My0zMDUuOTU4IDAtOTIuNzEyIDIyLjY2MS0xNjguNiA2Ny45OTMtMjI3LjY2MyA0Ni43MDUtNTkuMDY0IDEwNC4zODYtODguNTk2IDE3My4wNjUtODguNTk2IDE1LjExNCAwIDMxLjkzOCAxLjg4NCA1MC40ODMgNS42NjMgMTguNTQ0IDMuNzc4IDM3Ljc3NSAxMC44MTMgNTcuNjkxIDIxLjExNCAyMS4zIDExLjY3NCAzOC44MSAxOS43NTMgNTIuNTQxIDI0LjIwOCAxMy43MzIgNC40NjQgMjQuMzgxIDYuNjk2IDMxLjkzOCA2LjY5NiA4LjkzIDAgMjIuNjYxLTIuMDY4IDQxLjIwNi02LjE4NCAxOC41NDQtNC4xMjcgMzcuMDc4LTExLjY3NCA1NS42MjMtMjIuNjYxIDE5LjkxNi0xMC45ODggMzcuMDg5LTE5LjIzIDUxLjUwNy0yNC43MyAxNC40MTctNS40ODggMjkuMTgzLTguMjQzIDQ0LjI5Ny04LjI0MyA0OC4wNzcgMCA5MS4zNCAxMy4wNDYgMTI5LjgwMSAzOS4xNDcgMjAuNjAzIDEzLjczMiA0MS41NDQgMzMuOTk3IDYyLjg0MiA2MC43ODQtMzEuNiAyNy40NzQtNTQuNTk5IDUxLjUwNy02OS4wMjcgNzIuMTEtMjYuNzg3IDM4LjQ2LTQwLjE4MSA4MC4zNTItNDAuMTgxIDEyNS42NzQgMC4wMSA1MC4xNTUgMTQuMDkgOTUuNDg3IDQyLjI1IDEzNi4wMDZ6IG0tMjA3LjA3MS00ODEuMDljLTI0LjAzMyAyMi42Ni00Ni4wMDggMzcuNDI2LTY1LjkyNSA0NC4yOTctNi44NyAyLjA2OS0xNS42MjYgMy45NTMtMjYuMjc1IDUuNjczLTEwLjY1IDEuNzEtMjIuODM1IDMuMjY3LTM2LjU2NyA0LjYzOSAwLjY4Ni02MC40MzYgMTYuNDc2LTExMi42MjkgNDcuMzktMTU2LjU4OUM1ODIuMDUxIDQ2LjcxNCA2MzIuODcyIDE2LjQ5NiA3MDMuNjEgMC4wMWMxLjM3MiA2Ljg3MSAyLjQwNiAxMS42NzQgMy4wOTIgMTQuNDE4djExLjMzNmMwIDI0LjcxOS01LjgzNiA1Mi41NC0xNy41MSA4My40NDUtMTIuMzYgMzAuMjE3LTMxLjI1MiA1OC4wNC01Ni42NjcgODMuNDQ0eiBtMCAwIiBmaWxsPSIiID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iZWRnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTUxLjQyOCA0NTYuMzI2YzAuMjIyLTAuMzI0IDAuNDYtMC42NDYgMC42ODQtMC45Ny0wLjA0MiAwLjMyNC0wLjA5IDAuNjQ2LTAuMTMgMC45N2gtMC41NTR6IG05MjEuMTQ0IDMxLjAxNmMwLTg4LjA2NC0xNS41MDgtMTY4LjkzLTU3LjYwMi0yNDQuODFDODMyLjk5NiA5NS43NTggNjg3LjgyNCAxNi4wMDIgNTE3Ljc4NiAxNi4wMDIgMjM3LjkyNCAxNS40NDggODEuMjM0IDIyNi40MjggNTIuMTEyIDQ1NS4zNThjODQuODU4LTEyMi42MjQgMjM0LjE0Ni0yNDIuNzUyIDQ0MC43NS0yNDkuOTMyIDAgMCAyMTkuMzMyIDAgMTk4LjgzOCAyMDkuOTE0SDMzOS45OTRjMTIuNzM4LTc0Ljc3MiAzNy4xMDgtMTE3Ljk3MiA2OC42NzgtMTU3Ljg1Mi0xNTAuMDk2IDY5Ljc4Ni0yNDMuNyAxOTIuMTkyLTI0MS40ODQgMzc2LjYzIDEuNjYgMTQyLjg5NiAxMDAuMjQ4IDI4OS42NzIgMjQxLjQ4NiAzNDMuOTUyIDE2Ni43MTQgNjMuNjk0IDM4NS41NTIgMTQuNCA0ODAuMjY0LTQyLjY0OFY3MjYuNjE0Yy0xNjEuNzI4IDExMi45ODgtNTQxLjc0MiAxMjEuODUtNTQ0LjUxLTEzNS4xNDRoNjI4LjE0NnYtMTA0LjEyOHoiIGZpbGw9IiIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJhbnpodW8iIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0xNDEuMSAzMzEuMmMtMzUgMC02My4zIDI4LjMtNjMuMyA2My4ydjI2NC43YzAgMzQuOSAyOC40IDYzLjIgNjMuMyA2My4yIDM1IDAgNjMuMy0yOC4zIDYzLjMtNjMuMlYzOTQuNGMwLTM0LjktMjguMy02My4yLTYzLjMtNjMuMnogbTg3LjggNDIyLjFjMCAzNy4zIDMwLjMgNjcuNSA2Ny42IDY3LjVoNDYuMXYxNDBjMCAzNC45IDI4LjQgNjMuMiA2My4zIDYzLjIgMzUgMCA2My4zLTI4LjMgNjMuMy02My4ydi0xNDBoODUuNXYxNDBjMCAzNC45IDI4LjQgNjMuMiA2My4zIDYzLjIgMzUgMCA2My4zLTI4LjMgNjMuMy02My4ydi0xNDBoNDYuMWMzNy4zIDAgNjcuNi0zMC4yIDY3LjYtNjcuNVYzNDMuMUgyMjguOXY0MTAuMnpNNjUxLjggOTMuNEw2OTYgMTNjMi40LTQuMiAwLjgtOS42LTMuNS0xMS45LTQuMi0yLjMtOS42LTAuOC0xMS45IDMuNWwtNDQuNyA4MS4yQzU5OC40IDY5LjIgNTU2LjQgNTkuOSA1MTIgNTkuOWMtNDQuNCAwLTg2LjQgOS4zLTEyMy45IDI1LjhMMzQzLjQgNC42Yy0yLjMtNC4zLTcuNy01LjgtMTEuOS0zLjUtNC4zIDIuMy01LjkgNy43LTMuNSAxMS45bDQ0LjIgODAuNGMtODYuOCA0NC44LTE0NS41IDEzMC0xNDUuNSAyMjcuN2g1NzAuNWMwLjEtOTcuOC01OC42LTE4Mi45LTE0NS40LTIyNy43ek0zODIuMiAyMThjLTEzLjIgMC0yMy45LTEwLjctMjMuOS0yMy45czEwLjctMjMuOSAyMy45LTIzLjkgMjMuOSAxMC43IDIzLjkgMjMuOWMtMC4xIDEzLjItMTAuOCAyMy45LTIzLjkgMjMuOXogbTI1OS43IDBjLTEzLjIgMC0yMy45LTEwLjctMjMuOS0yMy45czEwLjctMjMuOSAyMy45LTIzLjkgMjMuOSAxMC43IDIzLjkgMjMuOWMtMC4xIDEzLjItMTAuOCAyMy45LTIzLjkgMjMuOXogbTI0MSAxMTMuMmMtMzUgMC02My4zIDI4LjMtNjMuMyA2My4ydjI2NC43YzAgMzQuOSAyOC40IDYzLjIgNjMuMyA2My4yIDM1IDAgNjMuMy0yOC4zIDYzLjMtNjMuMlYzOTQuNGMwLTM0LjktMjguMy02My4yLTYzLjMtNjMuMnoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9ImxpbnV4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNOTQyLjc5NSA4NjcuNTQ1Yy01LjU5LTE2LjY1NS01NC4yMDYtMzcuNTUtNjkuNTMzLTcxLjAyMnMtMi43NzItNTEuMzc2LTI2LjM3LTY4LjFhMjcuNTg0IDI3LjU4NCAwIDAgMC0xMC40NTgtNC40OTFjOC4yNi0yMS44OSA4LjUxMS01MS43ODkgNy40MTItOTEuMTcyLTIuNzk1LTEwMi45NTktNDcuNzY4LTE2NC43MTMtNzEuOTYyLTE5NC44NjMtMjguOTI0LTM2LjA5Ni0zOC45NDctNDkuNzE2LTYxLjE0Ny04NC43NjktMjEuNTEzLTMzLjc5Mi00NC4zNjYtNzUuMzYzLTQ1LjEtMTIwLjA5Ni0wLjk3My01Mi44ODgtMi43OTQtMTEzLjY1OC0yNy44MzUtMTU5LjQ3OFM1NTAuNTM2LTE3LjUwMyA0NjIuNTM4IDYuODE2QzM2OC40NDUgMzIuODMgMzY2LjE0MiAxMTEuOTYzIDM2Mi4wMDcgMTcwLjQzczIyLjQ4NiAxMDAuMDM4IDAuMTI2IDE3My45NDctNjEuMjc0IDEwMS4zNzgtNzkuOTkxIDEzOC40NThjLTQ2LjMxNCA5MS43NjctNTYuMTMgOTkuOTEyLTc2LjQ2NCAxNDcuMTk5LTIyLjQ4NiA1Mi4xNTUtNS41OSA4My4wMjctNS41OSA4My4wMjdsMC45NzQgMi41NTVjLTguMDE5IDE0LjgyMy0xMi4yOCAyOS42NTctMjEuNzY1IDMzLjY2Ni0xOC45NyA4LjAxOS02My45NDMtNC4xMjQtNzkuMjU4IDExLjE4czcuNDExIDEwOC4wNTctMi43NzIgMTI1LjE5NC0xOS40NzQgMTYuNjU2LTE5LjQ3NCA0NC40OTIgMzAuNjMxIDI1LjA4NyAxNTAuMjQ2IDY1LjM5NyAxNDEuODYgMjkuMTc3IDE2OS42OTctNS41OWE0OC4xMTIgNDguMTEyIDAgMCAwIDkuMjMzLTE4LjY4M2MzNi41ODctMy4yODggNzMuNTQyLTYuMTk3IDk1LjA3Ny02LjMyMyA0Ny43OC0wLjI0IDExNC42MzIgMTQuODM0IDE0NS43NTYgMjIuNDg2IDQuNDkgMTIuMDQgMTEuMDU0IDIxLjc2NSAxOS44MDYgMjYuMjY3IDI1LjA1MiAxMi41MDkgODMuNTIgMTEuMTggMTE4LjI3NC0yMi4yNThzMTIyLjQxLTc2LjQ4NiAxMzMuNTgtODcuNjY2IDI4Ljc5Ny0xOS41NzcgMjMuMzMzLTM2LjIzM3pNNDQyLjA2NyAyMjUuNzI0Yy0xLjM0LTE1Ljc5Ny05Ljk2Ni0yNy44MzYtMTkuMzI1LTI3LjExNHMtMTUuOTM0IDE0LjIzOC0xNC41OTQgMjkuOTFjMC43MzQgOC43NSAzLjc4IDE2LjQxNCA3LjkwNCAyMS4yNzFsLTQuMTIzIDMuNzdjLTYuODczLTguODc5LTEyLjUzMi0yMy4wOTUtMTMuOTg3LTQwLjQ3Mi0yLjU1NS0zMC4wMzUgOS4xNjQtNTMuNjEgMjEuMjcyLTU0LjU4NGgwLjg0OGMxMS43ODcgMCAyNi43NDggMjAuNjIgMjkuMTc2IDUwLjMyM2ExMDcuNTg3IDEwNy41ODcgMCAwIDEtMC4xMjYgMTcuODdjLTIuMjkxIDAuOTczLTQuNTgyIDIuMDYyLTYuODA0IDMuMTYxLTAuMTE1LTEuMjE0LTAuMTE1LTIuNjgtMC4yNC00LjEzNXogbS0xNy4xODMgMTYuMjl6IG0tMy4wMzUgMi42NjhsLTAuMTI2IDAuMTI2eiBtLTIuOTIxIDIuNjhsLTAuMTI2IDAuMTE1YzAtMC4xMTQgMC0wLjExNCAwLjEyNi0wLjExNHogbS0xMS42NjIgMTAuMzFjMC43MjItMC42MDcgMS4zMy0xLjIxNCAyLjA2Mi0xLjgyYTE0LjYwNSAxNC42MDUgMCAwIDEtMi4wNjIgMS44MnogbTIuNDE3LTIuMDYxYzAuNzM0LTAuNjIgMS40NjctMS4zNCAyLjItMS45NDgtMC43MzMgMC43MzMtMS40NjYgMS4zMjktMi4yIDEuOTQ4eiBtMTkuOTQ0IDI4LjYzN2MzLjAzNS0yLjU1NCA1Ljk1Ny01LjIzNSA4Ljc1Mi03Ljc3OCAxMy4wMDEtMTEuOTEzIDIxLjc2NC0xOS4yMSAzMy40MjYtMTkuNjkxIDEuMzQtMC4xMjYgMi42NjktMC4xMjYgNC4wMi0wLjEyNiAxOS44MDYgMCAzOS44NjQgNy4wNTYgNjcuMDkzIDIzLjgyNyAyLjQyOSAxLjQ1NCA0Ljc0MyAyLjc5NSA2LjkzIDQuMTM1YTU2MS44ODcgNTYxLjg4NyAwIDAgMS0yMS43NjQgMTguNTkyYy0xOS4zMjUgMTUuNjgyLTMzLjY2NyAyNS40MDctNDEuMDc4IDI5LjU0My01LjQ3Ni0yLjQyOS0xNS40NDItNy45MDQtMzAuMjc2LTE4LjExMS0xNi4xNjMtMTEuMTgtMjguNTctMjEuNjM5LTMxLjcyLTI0LjhhMjUuMDk4IDI1LjA5OCAwIDAgMSA0LjU4Mi01LjU5eiBtMTE2LjY4Mi00MS45OTRjMC42MDcgMC4zNjYgMS4zNCAwLjczMyAxLjk0OCAxLjE0NS0wLjYwOC0wLjM2Ni0xLjIxNS0wLjczMy0xLjk0OC0xLjE0NXogbTIuMDYyLTQ2LjE4N2MtMTEuNjYxLTAuNjA4LTIyLjcyNyAxMS45MTMtMjQuNjc0IDI3Ljk2MmEyOS44NzUgMjkuODc1IDAgMCAwLTAuMTE1IDcuNDExYy00LjUwMi0xLjgyMS04Ljk5Mi0zLjI4OC0xMy4zOC00LjU4MmE3Ni4xNzcgNzYuMTc3IDAgMCAxIDAuMjQxLTE2LjUzYzEuNzA3LTE0LjU5NCA3LjQyMy0yOC4yMTQgMTUuODA4LTM4LjA1NCA3LjUzOC04Ljc1MiAxNi4yOS0xMy42MDkgMjQuNjc1LTEzLjYwOWgxLjIxNGM2LjMyMyAwLjM1NiAxMi4wNCAzLjQzNyAxNi43ODIgOS4xNjUgOC42MjUgMTAuMjA2IDEyLjUyIDI2Ljg2MiAxMC40NDcgNDQuNDgtMS42OTYgMTQuNTk0LTcuNDEyIDI4LjIwMy0xNS43OTcgMzguMDQzLTAuMzY2IDAuMzY2LTAuNzMzIDAuODU5LTEuMTQ1IDEuMjI1bC0xLjE0Ni0wLjczM2MtMS43MDctMS4xNDUtMy40MzctMi4wNjItNS4xMDktMy4wMzUgNS4xMDktNS4xMSA4Ljc1Mi0xMi43NjEgOS44NTEtMjEuNTI1IDEuNjk2LTE2LjAzNy02LjA4Mi0yOS41MzEtMTcuNzU1LTMwLjEzOHogbTQuODExIDUwLjA5M2MtMC43MzMtMC4zNjctMS40NTUtMC44NDgtMi4xODgtMS4yMTRhOS4yMjEgOS4yMjEgMCAwIDEgMi4xODggMS4yMTR6IG0tMTYuNzctOC45OTJjLTAuNDkzLTAuMjUyLTEuMTQ2LTAuNDkzLTEuNTgtMC43MzMgMC40OCAwLjI0IDAuOTczIDAuNDggMS41OCAwLjczM3ogbS00Ljc0My0yLjE4OGMtMC40OTItMC4yNTItMC44NTktMC4zNjctMS4zNC0wLjYwN2ExMi42IDEyLjYgMCAwIDAgMS4zNCAwLjYwN3ogbS0yOC42OTUtOS44NTJjMC4xMjYgMCAwLjI1MiAwLjEyNiAwLjQ5MyAwLjEyNmEwLjg5NCAwLjg5NCAwIDAgMC0wLjQ5My0wLjEyNnogbTYyLjYwMyAyOC4zMjljLTEuMDg5LTAuNjA3LTIuMTc3LTEuMzQtMy4yNzYtMS45NDdhNjkuOTQ3IDY5Ljk0NyAwIDAgMCAzLjI3NiAxLjk0N3ogbTguMjcgNC43NDJjLTAuNjA3LTAuMzc4LTEuMzQtMC43MzMtMi4wNjItMS4xNDUgMC43MjIgMC4zNjYgMS4zMyAwLjcyMiAyLjA2MiAxLjE0NXogbS0yLjI5LTEuMjI1Yy0wLjg0OC0wLjQ4MS0xLjgyMi0xLjE0Ni0yLjc5Ni0xLjU3IDAuOTc0IDAuNDgxIDEuOTQ4IDEuMDg5IDIuNzk1IDEuNTd6IG0tMi45MjItMS42NWMtMC45NzMtMC42MDctMS45MzYtMS4yMjYtMy4wMzUtMS44MjEgMS4xNDUgMC41OTUgMi4wNjIgMS4yMTQgMy4wMzUgMS44MjF6IG0zOS43NSA2MTguNzI4Yy0yMS44NjggMTkuOTMyLTM4LjY1IDI4LjIwMy01MC45MyAzNS45Ny0yMi45NjggMTQuNTkzLTYwLjA0OCAyMy40Ny05OC41ODMgMTcuNjI5LTI0LjQzNC0zLjY0My00Ni4zMTMtMTMuODUtNjUuNTEyLTI1LjM5NmExMzguNjA3IDEzOC42MDcgMCAwIDAtMTIuNi0yMC42MmMtOC41LTExLjMxNy02Ni4zNzItOTMuMTE5LTEwMi41OTMtMTQ0LjE3NGExNTUuNjQxIDE1NS42NDEgMCAwIDEtMi43OTUtMzAuMzkxYzAuNzIxLTU5Ljc5NiAxNy4zNzctMTI5LjY5NSAzMC45OTctMTQ2LjExIDQuMTM2LTQuOTg0IDM0LjUyNi05MS41MzkgNDEuNjk3LTEwOS44OSAxMy4yNDItMzMuNDI2IDMzLjY2Ny03Mi42ODMgNDQuMzY2LTk1LjY2MiA3LjI4NS0xOC45NyA4LjM4NS0zMi4yMTIgNy40MTEtNDEuMjM5IDEyLjA0IDEyLjUzMiA2OC40NDUgNTUuMDc3IDg4LjYxOCA1NS4wNzdoMC4zNjZjMTYuNzctMC4zNjcgODEuMDgtNTIuNzUxIDEwMy4wOTctNzYuODMgMi4wNzMgOC43NTIgMTIuODg3IDI2LjE0IDE5LjgxNyA0Mi45MTEgMjAuMTg0IDQ4Ljg2OCA0My42MzMgMTQwLjI4IDgxLjIwNiAxOTAuOTY5IDIuNTQzIDMuNTI4IDguODY2IDE1LjQ0MiAxMC4wOTIgMjAuMDU4IDE0LjU4MiA1Mi4zODUgMTEuNjYxIDkyLjAyIDIuNjY5IDE2OS44MTFhNjEuMDQ1IDYxLjA0NSAwIDAgMC0xNC43MDktMi45MmMtMjUuNjQ4LTIuMDYzLTM0Ljc2NiA4LjM4NC0zNC43NjYgOC4zODRzLTEuNDU1IDU3LjYzMS00LjI1IDExMC45OWMtMi4yIDIuNDI4LTQuNTAyIDQuODY4LTYuODE2IDcuMjk3LTEzLjEyNyAxMy4xMjctMjUuMjgxIDI0LjQzMy0zNi43MTQgMzQuMTU5eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0ibGl1bGFucWkiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik05NTguMjQzNzk0IDEzNC41MTUwNDFjLTMzLjI5Nzk5My0xNi4xMDg5OTctNjguNDA5OTg1LTIzLjc0Mjk5NS0xMDQuNDYyOTc3LTI3LjU5Njk5NC03LjkxOTk5OC0wLjg0OC0xNi4wMDk5OTctMC4xMjUtMjYuNTMwOTk1LTAuMTI1Qzk1My40MzU3OTUgMjExLjI1MDAyNSAxMDIxLjE5Mzc4MSAzNDIuOTQ5OTk2IDEwMjMuOTE4NzggNTA0LjM5OTk2MmMyLjMwOSAxMzYuNjk5OTcxLTQ0LjgyNzk5IDI1Ni4zMTc5NDUtMTM4LjAyMTk3IDM1Ny4yMzg5MjMtMTc3LjQ2OTk2MiAxOTIuMTkyOTU5LTQ5Ny43NzI4OTMgMjI5LjA4Njk1MS03MjIuNDE2ODQ1IDI3LjI1ODk5NC01Ljc3MDk5OSAzNy4yNTc5OTItNC43MzA5OTkgNzMuNzU1OTg0IDEuNDYyIDExMy4xMDM5NzYtMTguMjMxOTk2LTIxLjQ5Nzk5NS0zMS40MTk5OTMtNDIuNzcwOTkxLTQxLjIwNTk5Mi02Ni4wNjA5ODYtMTUuNTc3OTk3LTM3LjA3Mzk5Mi0yNS4xODU5OTUtNzUuNjgxOTg0LTI5LjU5Nzk5My0xMTUuNjk2OTc1LTAuODktOC4wNzA5OTgtNC4wMzc5OTktMTYuNjUyOTk2LTguNTA2OTk4LTIzLjQ1MDk5NUM0My4zOTk5OTEgNzMyLjU1NjkxMyAxNi4xMjM5OTcgNjYyLjU4MjkyOCA1LjIwMzk5OSA1ODYuNjExOTQ0LTIuMjggNTM0LjU1OTk1NS0xLjczOSA0ODIuNDk3OTY2IDcuMTI5OTk4IDQzMC4zMzI5NzggMzMuNzI4OTkzIDI3My44ODgwMTEgMTE1Ljc5MTk3NSAxNTQuOTU5MDM3IDI1MC4yOTY5NDYgNzIuMjMwMDU0YzY5LjMzMzk4NS00Mi42NDI5OTEgMTQ1LjYyMzk2OS02NS40NzY5ODYgMjI3LjE0Njk1MS03MC45OTk5ODQgODguMzU5OTgxLTUuOTg1OTk5IDE3Mi4zNzI5NjMgOS45MTY5OTggMjUyLjcwNDk0NiA0Ni44MDQ5OSA2LjgxNDk5OSAzLjEyOTk5OSAxNC45OTg5OTcgNC41NTk5OTkgMjIuNTU1OTk1IDQuNTkxOTk5IDUyLjM5Mzk4OSAwLjIyOCAxMDIuNTkxOTc4IDEwLjc0MDk5OCAxNTAuNjU2OTY4IDMxLjI4Mjk5MyAyNC4wMzg5OTUgMTAuMjc0OTk4IDQxLjc3MTk5MSAyNy45MzI5OTQgNTQuODgxOTg4IDUwLjYwNDk4OXpNMTgwLjc5Mjk2MSA3ODEuNDM2OTAyYy0zLjQzMzk5OSAxNy40NzU5OTYtNy4wMjY5OTggMzIuODg5OTkzLTkuMTk5OTk4IDQ4LjUwMjk5LTAuNjgzIDQuOTA4OTk5IDAuNzc3IDEyLjAxNzk5NyA0LjA3MTk5OSAxNS4yOTU5OTYgNjEuODgzOTg3IDYxLjUyNDk4NyAxMzUuMjk5OTcxIDEwMy40NTM5NzggMjIwLjEyOTk1MyAxMjMuODk1OTc0IDc2LjYxOTk4NCAxOC40NjM5OTYgMTUzLjY3ODk2NyAxOC4zMTI5OTYgMjMwLjI1Mzk1LTEuNzExIDEwMC4xNTc5NzgtMjYuMTkwOTk0IDE4Mi45Nzg5NjEtNzkuNjMwOTgzIDI0OC41MzY5NDctMTU5LjQ0NDk2NiA0MC45NTc5OTEtNDkuODY1OTg5IDcwLjI3OTk4NS0xMDUuOTE5OTc3IDg4LjI0Mjk4MS0xNjguMDk5OTYzIDEyLjczOTk5Ny00NC4xMDM5OTEgMTguNTkyOTk2LTg5LjAzMDk4MSAxOC4zNzc5OTYtMTM0LjU5ODk3Mi0wLjIyLTQ2LjMwMDk5LTcuNTY1OTk4LTkxLjY4Nzk4LTIxLjY3OTk5NS0xMzYuMDg1OTctMzMuNTU1OTkzLTEwNS41NTc5NzctOTYuNzExOTc5LTE4OC43NjE5NTktMTg4LjEwOTk2LTI1MC43OTQ5NDYtNC45NDk5OTktMy4zNjE5OTktMTMuMjQwOTk3LTMuOTA1OTk5LTE5LjUxMzk5Ni0yLjg5Ni00Ny45MDU5OSA3LjY5Mzk5OC04OS4wOTk5ODEgMzEuNjE5OTkzLTEzMC43MjI5NzEgNTQuNjIyOTg4LTQ0LjI5Mjk5IDI0LjQ3Mzk5NS04My40MDU5ODIgNTYuMDAxOTg4LTEyMi41NDk5NzQgODcuNTg4OTgyLTQuMzU0OTk5IDMuNTE4OTk5LTkuODU0OTk4IDcuMjExOTk4LTE1LjEzOTk5NyA3Ljc1Mjk5OC02Ny45Njk5ODUgNi45NDg5OTktMTIyLjA0MTk3NCAzOC4xMjU5OTItMTYxLjk2Mzk2NSA5My4wNjI5OC0xMC45MDM5OTggMTUuMDA3OTk3LTE4LjY0NTk5NiAzMi4zMDQ5OTMtMjguMTU5OTk0IDQ5LjExNjk4OWg0MjcuNjQ2OTA4Yy0zNC41NDk5OTMtODIuODc0OTgyLTkzLjM5MDk4LTEzMC41MDA5NzItMTgzLjcwNTk2LTE0Mi40OTA5NjkgNC4yNzY5OTktMy4yMjg5OTkgNi4wNjk5OTktNC42MTM5OTkgNy44OTY5OTgtNS45NTQ5OTkgMjUuNzQ5OTk0LTE4LjkxMzk5NiA1MC44NTM5ODktMzguNzkzOTkyIDc3LjQzNzk4My01Ni40NjA5ODggMjYuODczOTk0LTE3Ljg1NTk5NiA1NS4xMjc5ODgtMzMuNjY2OTkzIDgyLjk3ODk4Mi01MC4wMjY5ODkgNi40MDY5OTktMy43NjE5OTkgMTMuMDk0OTk3LTUuNDY3OTk5IDIwLjgzOTk5Ni0wLjg2NiA2OS40NzE5ODUgNDEuMjg2OTkxIDEyMC4zNDg5NzQgOTguODk4OTc5IDE1My40Nzk5NjcgMTcyLjQwMzk2MyAyNC4zNzM5OTUgNTQuMDczOTg4IDM3LjE1OTk5MiAxMTEuMDI4OTc2IDQxLjI0Mzk5MSAxNjkuODg2OTY0IDEuNjI5IDIzLjQ2MTk5NSAwLjI2OCA0Ny4xMzE5OSAwLjI2OCA3My41OTc5ODRoLTYzNC45Mjk4NjRjMy45NDg5OTkgNDIuMDQ5OTkxIDE4LjIxNjk5NiA3Ni45MjQ5ODMgNDMuNDEzOTkxIDEwNi42NzI5NzcgNDYuNDA5OTkgNTQuNzk2OTg4IDEwOC43Mzc5NzcgNzQuOTc2OTg0IDE3Ny45Mzc5NjIgNzUuNjk5OTg0IDcxLjg0NDk4NSAwLjc1MiAxMzQuNzA5OTcxLTI0LjkwOTk5NSAxODguNjY2OTU5LTcyLjAzNTk4NSA1LjE0NDk5OS00LjQ5Mjk5OSA4LjU2Njk5OC00LjU0NTk5OSAxNC4yNDk5OTctMS44NDA5OTkgMzQuNzE0OTkzIDE2LjUzNzk5NiA2OS42MjU5ODUgMzIuNjU5OTkzIDEwNC40Mzk5NzggNDguOTg0OTg5IDE3LjQ0OTk5NiA4LjE4MTk5OCAzNC44NDI5OTMgMTYuNDkxOTk2IDUzLjE0NDk4OCAyNS4xNjc5OTUtMi40NDI5OTkgNC4yNjk5OTktNC4wNDQ5OTkgNy43Njk5OTgtNi4yNTQ5OTggMTAuODI3OTk3LTUwLjIxNzk4OSA2OS40NjU5ODUtMTE1LjE5MTk3NSAxMTkuMzU5OTc0LTE5OC4wMTk5NTggMTQzLjA4ODk3LTgyLjg2OTk4MiAyMy43Mzk5OTUtMTY3LjA3Nzk2NCAyNy44NjU5OTQtMjUyLjA1Mzk0NiAxMC4zMDk5OTgtNzkuODMyOTgzLTE2LjQ5Mjk5Ni0xNTAuMjA5OTY4LTUwLjU5MDk4OS0yMDguMTk3OTU1LTEwOC41NjI5NzctNy4zODM5OTgtNy4zNzk5OTgtMTQuMjk1OTk3LTE1LjIzMDk5Ny0yMy4wNTY5OTUtMjQuNjA5OTk1eiBtLTg3LjgxMDk4MS00OS4zMTk5ODljMC44MzItNS42MTI5OTkgMS4xMjItOC41ODc5OTggMS43MjctMTEuNDk3OTk4IDYuMTUyOTk5LTI5LjYwOTk5NCA4LjEzMjk5OC02MC45MjI5ODcgMTkuMzIzOTk2LTg4LjUwMjk4MSAzNi43NTc5OTItOTAuNTkzOTgxIDkyLjY0Mjk4LTE2OS44NzA5NjQgMTU0LjMxODk2Ni0yNDUuMTk3OTQ3IDEyLjE3OTk5Ny0xNC44NzU5OTcgMjQuMzQzOTk1LTI5Ljc2NDk5NCAzNi41MTQ5OTMtNDQuNjQ4OTkxLTMwLjY1MTk5MyAxOS41NjA5OTYtNTkuNTI0OTg3IDQxLjA2Mjk5MS04Mi43OTE5ODMgNjguODM0OTg2LTIzLjAwODk5NSAyNy40NjY5OTQtNDYuMjYyOTkgNTQuODgzOTg4LTY3LjA4Mjk4NSA4My45ODA5ODItMjAuOTA0OTk2IDI5LjIxNTk5NC0zOC45Mzg5OTIgNjAuNDgyOTg3LTU4LjI0OTk4OCA5MC44Nzk5OC0wLjYwNS0zLjM1OTk5OS0xLjUxMi03LjczOTk5OC0yLjE3NTk5OS0xMi4xNTc5OTctOC42NDk5OTgtNTcuNjQwOTg4LTYuNDE0OTk5LTExNC42Njc5NzUgNy40MjA5OTgtMTcxLjQ4Nzk2MyA0Mi45Njc5OTEtMTc2LjQ0OTk2MiAyMDIuNDMxOTU3LTMwNS4zOTk5MzQgMzg0LjU5NTkxNy0zMTAuMzU2OTM0IDE2LjI4Mzk5Ny0wLjQ0MyAzMi45NDc5OTMgMC43OTEgNDguNzYxOTktMi4yNTY5OTkgMzAuNTU5OTkzLTUuODg4OTk5IDYwLjYwOTk4Ny0xNC4zNzI5OTcgOTAuOTI4OTgtMjEuNTU4OTk2IDguODcxOTk4LTIuMTA2IDE3LjkyMTk5Ni0zLjQ1Mzk5OSAyOS4zNjQ5OTQtNS42MTQ5OThDNDkxLjk4MTg5NCA1LjUzMDA2OSAyNzcuMDUzOTQgNDcuNjcxMDYgMTQyLjMzNTk2OSAyMTMuMTAwMDI0IDQuNzU2OTk5IDM4Mi4wNDc5ODggMTUuOTk1OTk3IDU5OS40MzQ5NDEgOTIuOTgxOTggNzMyLjExNzkxM3oiIGZpbGw9IiM1MTUxNTEiID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0ic291Z291IiB2aWV3Qm94PSIwIDAgMTA0MSAxMDI0Ij48cGF0aCBkPSJNNTE3Ljg1MzQ5NiAwLjAwMDg1M2M1Ni44NzE0NzctMC4xMTA5MjcgMTExLjc0NjI2NiAxMC4yMjIzNiAxNjUuNTYyOTgxIDI3LjQ3NTc5MyA1Ny4zNDA3ODQgMTguNTY3NDkyIDExMC42OTY3MjUgNDUuMzUyMTIzIDE1Ny4zNzk5NzQgODMuODc3OTYyIDI0LjkxNTkzNiAyMC41NTU2NDcgNDkuMzc5NjMxIDQxLjkzODk4MSA3MS4wMTg5NSA2NS43Nzk3NzggMzUuMzM0NTUyIDM4Ljg3NTY4NiA2My43NzQ1NTcgODIuNjgzMzYzIDg1LjMwMjk0OSAxMzEuMjAxMTc1IDE2LjE0NDE2MSAzNi4xNzkzMDQgMjcuNzMxNzc4IDczLjY0NzA3IDM1LjQ1NDAxMiAxMTIuMjkyMzY5IDMuNzQ1OTIzIDE4LjIwMDU3OSA0LjkxNDkyNCAzNi45OTg0NTggNi40MzM3NzMgNTUuNTU3NDE3IDEuMjc5OTI4IDE1LjE1NDM1IDEuODc3MjI4IDMwLjQxOTYyNyAxLjk4ODE1NSA0NS42OTM0MzggMC4zNDk4NDcgMzUuNzA5OTk3LTQuNDQ1NjE3IDcwLjgyMjY5NS0xMi4yODczMTEgMTA1LjU5NDA3OC0xMC4yOTA2MjMgNDUuOTMyMzU3LTI2LjY3MzcwNCA4OS43NDAwMzQtNDkuNjEwMDE4IDEzMC43NDA0MDEtMjUuNjI0MTYzIDQ1LjkyMzgyNC01Ny4yMTI3OTEgODcuNjIzODg2LTk1LjU5MzU3MiAxMjMuNjgzNzMtMjguNjcwMzkyIDI2Ljg5NTU1OC01OS43ODk3MTMgNTAuOTc1Mjc0LTkzLjg0NDMzNyA3MC41ODM3NzQtNTIuOTk3NTYxIDMwLjQyODE2LTEwOS4xNjkzNDQgNTIuODYxMDM1LTE2OS43Njk2NzkgNjIuNDk0NjI5LTIzLjc2NDAwMSAzLjc1NDQ1Ni00Ny44NjkzMTUgNi4xMDk1MjQtNzEuODQ2NjM3IDcuODY3MjkyLTcyLjMxNTk0NCA1LjA1OTk4My0xNDIuMDQ2NDM0LTcuNjI4MzcyLTIwOS43OTczLTMyLjE4NTkyOC01MS44Mjg1Ni0xOC43ODkzNDYtOTkuNDU4OTU1LTQ1LjgwNDM2NC0xNDIuNjM1MjAxLTgwLjIxNzM2OC02MC43MTk3OTUtNDguNTE3ODEyLTEwOC45MzA0MjQtMTA3LjQ3OTgzOS0xNDMuNTY1MjgyLTE3Ny4zNjM5Mi0xOS4xOTAzOS0zOC42NTM4MzItMzIuNzY2MTYyLTc5LjQwNjc0Ny00MS43NjgzMjQtMTIxLjQ1NjY1NS00LjgwMzk5Ny0yMi41NTIzMzUtNi4wODM5MjUtNDUuODEyODk3LTguMTkxNTQtNjguOTQ1NDY2LTEuMzk5Mzg4LTE1LjE1NDM1LTIuNTc2OTIyLTMwLjU0NzYyLTEuODc3MjI4LTQ1LjgxMjg5OCAxLjc1Nzc2OC0zNS43MDk5OTcgNS44NTM1MzgtNzAuOTQyMTU1IDE0LjM5NDkyNi0xMDUuODMyOTk3YTUwOC44MzExOTYgNTA4LjgzMTE5NiAwIDAgMSA0My44NzU5MzktMTE2LjUxNjEzMyA0OTYuMjExMTA0IDQ5Ni4yMTExMDQgMCAwIDEgNjEuNTQ3NDgxLTkwLjkxNzU2NyA1MjUuMDQzNjIgNTI1LjA0MzYyIDAgMCAxIDk2LjQyMTI1OS04OC4yMTI2NTNjMzQuMjc2NDc4LTI0LjMxODYzNiA3MS42MDc3MTctNDMuMjI3NDQyIDExMC42ODgxOTMtNTguODUxMDk5IDM3LjMyMjcwNy0xNC43OTU5NyA3NS44MTQ0MTUtMjQuNzc5NDEgMTE1LjI1MzI2OS0zMC42NTg1NDhDNDY3LjQyNDMyNCAyLjExNzAwMSA0OTIuNjkwMTA3IDEuNzU4NjIxIDUxNy44NTM0OTYgMC4wMDA4NTN6IG0xMjUuNTQzODkyIDkxNC43ODE3NjNjNDEuNDI3MDEtMTEuMTYwOTc0IDc5LjkxODcxOC0yOC4zMDM0NzkgMTE2LjA3MjQyNC01MS4wOTQ3MzQgMzcuMTAwODUzLTIzLjM4MDAyMiA3MC4wODg4NjktNTEuNTY0MDQxIDk4LjE3MDQ5NC04NS4yNzczNTEgMTEuOTM3NDY0LTE0LjMyNjY2MyAyNC44MTM1NDItMjguMzEyMDEyIDMzLjkzNTE2NC00NC4zOTY0NDQgMTUuNTYzOTI3LTI3LjYwMzc4NSAzMC4wNzgzMTMtNTYuMDI2NzI1IDQyLjM1NzA5MS04NS4xNTc4OSAxNi42MTM0NjgtMzkuMjM0MDY2IDI0LjU3NDYyMi04MS4xNjQ1MTUgMjYuNjgyMjM3LTEyMy41NzI4MDMgMS4yNzk5MjgtMjcuMDE1MDE4LTEuMDU4MDc0LTU0LjQ5OTM0My0zLjc1NDQ1Ni04MS41MTQzNjItMy4zODc1NDMtMzQuMDYzMTU2LTE0LjI2NjkzMy02Ni4zNjg1NDQtMjguMzEyMDEzLTk3LjM3NjkzOS0xNi4yNjM2MjEtMzYuMDU5ODQ0LTM1LjgwMzg1OS03MC4yNDI0NjEtNjAuODM5MjU0LTEwMS4yNTA4NTUtMTkuNzc5MTU3LTI0LjY1OTk1LTQxLjc3Njg1Ny00Ni44NzA5NzEtNjcuMjgxNTYtNjUuMzEwNDctMzkuMzE5Mzk1LTI4LjU0MjM5OS04Mi4zNjc2NDctNDguOTc4NTg2LTEzMC4zNDc4OS01OC4wMjM0MTMtMjIuMjI4MDg3LTQuMjIzNzYzLTQ0LjY5NTA5My01Ljk5MDA2NC02Ny4xNjIxLTIuMzQ2NTM1LTQxLjE4ODA5IDYuNjk4MjkxLTc0LjE4NDYzOSAyNy4zNjQ4NjUtOTguNzUwNzI4IDYxLjA3ODE3NS0yNC4xMDUzMTUgMzMuMTI0NTQyLTM0LjI4NTAxMSA2OC43MTUwOC0xNi43NDE0NjEgMTA4LjQxODQ1MyAxMy4yMjU5MjUgMzAuMDY5NzggMzQuMTc0MDgzIDU0LjYxMDI3MSA1OC45NzkwOTIgNzUuNDA0ODM3IDI5LjM3MDA4NiAyNC41NDkwMjMgNjAuMDI4NjMzIDQ3LjgwMTA1MiA5MC4zMjg4MDEgNzEuMzAwNTM1IDE5LjMwOTg1IDE0LjkxNTQzIDQwLjEzODU0OSAyNy44MzQxNzIgNTguNTAxMjUyIDQzLjY4ODIxNiAzMC4xODkyNCAyNi4xOTU4NjQgNTQuNDE0MDE1IDU3LjMyMzcxOCA3MS4xNDY5NDMgOTQuMjAyNzE3IDIxLjc1ODc4IDQ4LjAzOTk3MiAyNi41NjI3NzcgOTcuODU0Nzc5IDE1Ljc5NDMxNCAxNDkuMDY4OTczLTcuOTYxMTU0IDM4LjA1NjUzMi0yNC4zMzU3MDIgNzMuMDU4MzAzLTQ2LjQ1Mjg2MSAxMDQuNzY2MzkxLTEzLjIyNTkyNSAxOC43OTc4NzktMjkuMDExNzA2IDM2LjE3OTMwNC00NS42MzM3MDcgNTIuMTUyODA5LTEzLjgwNjE1OSAxMy4wNDY3MzUtMzAuNjU4NTQ3IDIzLjM4MDAyMi00Ni42OTE3ODIgMzUuMjQwNjl6TTM3OC4yNjQ1MjUgOTUuOTY5ODcxYy0wLjkzODYxNC0wLjExOTQ2LTIuMTA3NjE1LTAuNzA4MjI3LTIuODE1ODQzLTAuMzQ5ODQ3LTI2LjU1NDI0NCAxMi4zMjk5NzUtNTMuNTg2MzI4IDIzLjcyMTMzNi03OS40NDA4NzggMzcuNDU5MjMyLTMyLjA1NzkzNSAxNy4wNDAxMTEtNTkuNzg5NzEzIDQwLjA2MTc1My04NS42NTI3OTYgNjUuNjYwMzE4LTIyLjgxNjg1NCAyMi40NDE0MDgtNDMuNzY1MDEyIDQ2LjUyMTEyNC01OS4yMDA5NDYgNzQuMzU1Mjk3YTgxMy43NzgzNjEgODEzLjc3ODM2MSAwIDAgMC00Mi4yMzc2MzIgODkuMDQwMzM5Yy0xNC42MjUzMTMgMzYuODc4OTk4LTIxLjQxNzQ2NiA3NS45OTM2MDUtMjIuNjk3MzkzIDExNS42OTY5NzgtMC41OTczIDIwLjA4NjM0IDAuOTMwMDgxIDQwLjI4MzYwNyAxLjc0OTIzNSA2MC4zNzg0ODEgMS4yNzk5MjggMzAuNzY5NDc0IDcuNzIyMjM0IDYwLjcyODMyNyAxOC4zNzEyMzYgODkuMjYyMTk0IDExLjExODMxIDI5Ljk1MDMyIDI0LjMzNTcwMiA1OS40Mzk4NjYgMzkuNjYwNzA5IDg3LjM5MzQ5OCAxOS44OTAwODQgMzYuMjk4NzY0IDQzLjc2NTAxMiA2OS44ODQwODEgNzcuOTMwNTYzIDk0Ljc5MTQ4NCA2MC4wMjg2MzMgNDMuODE2MjA5IDEyNi4zNzE1NzkgNjMuMzEzNzgyIDIwMC4zMTcyOTkgNTQuMjY4OTU2IDM5LjA4MDQ3NS00LjgyMTA2MyA3Mi4zMDc0MTEtMjAuOTA1NDk0IDk2Ljc2MjU3My01My4zMzAzNDIgMjkuMTM5Njk5LTM4LjUyNTgzOSAzMC43Njk0NzQtODAuMzQ1MzYxIDExLjExODMxLTEyMS45MjU5NjItMTguMzcxMjM2LTM4LjY1MzgzMi00Ny43NDEzMjMtNzAuMDAzNTQxLTgxLjQzNzU2Ni05Ni4xOTk0MDUtMzIuMTY4ODYzLTI0Ljg5ODg3LTY2LjgxMjI1My00Ni42MzIwNTEtOTguNjM5ODAxLTcxLjg4MDc2OC0xOS44OTAwODQtMTUuNzQzMTE3LTM4LjQ5MTcwOC0zNC4wNzE2ODktNTQuMDU1NjM1LTU0LjAzODU3LTE5LjY1MTE2NS0yNS4xMzc3OS0zMS4wMDgzOTQtNTUuMzE4NDk4LTM5Ljc4MDE2OS04NS45NzcwNDUtOC41NDEzODgtMjkuODM5MzkzLTEwLjA2ODc2OS02MC42MDg4NjgtNi4wODM5MjYtOTEuMTQ3OTU0IDMuNTA3MDAzLTI2LjY2NTE3MSAxMC4yOTA2MjMtNTIuNzQxNTc1IDIxLjY0Nzg1My03Ny40MTAwNTkgMTYuMTQ0MTYxLTM1LjI0MDY5IDM3LjA4Mzc4Ny02Ny4xODc2OTkgNjguNDQyMDI4LTkwLjkxNzU2OCAxMS44MTgwMDQtOC42ODY0NDYgMjMuOTg1ODU1LTE2LjY3MzE5OCAzNi4wNDI3NzktMjUuMTM3Nzl6IiBmaWxsPSIjNTE1MTUxIiA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InNhZmFyaSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTQ3My44IDUxMy42YzAtMTguMiAxMy4yLTM1LjQgMzIuNi0zNS40IDE3LjggMCAzNC44IDEyLjggMzQuOCAzMi4yIDAgMTguMi0xMi44IDM1LjQtMzIuMiAzNS40LTE4IDAtMzUuMi0xMy40LTM1LjItMzIuMnpNMTAwOCA1MTJjMCAyNzQtMjIyIDQ5Ni00OTYgNDk2UzE2IDc4NiAxNiA1MTIgMjM4IDE2IDUxMiAxNnM0OTYgMjIyIDQ5NiA0OTZ6IG0tNTMuMiAwYzAtMjQ0LjYtMTk4LjItNDQyLjgtNDQyLjgtNDQyLjhTNjkuMiAyNjcuNCA2OS4yIDUxMiAyNjcuNCA5NTQuOCA1MTIgOTU0LjggOTU0LjggNzU2LjYgOTU0LjggNTEyeiBtLTE0NSAxOTMuMmMwIDcuMiAyNiAyMC40IDMyLjYgMjQuNC01NC44IDgzLTEzOS42IDE0Mi44LTIzNS44IDE2Ni42bC04LjgtMzdjLTAuNi01LTMuOC01LjYtOC40LTUuNi0zLjggMC02IDUuNi01LjYgOC40bDguOCAzNy42Yy0yNi42IDUuNi01My42IDguNC04MC44IDguNC03Mi42IDAtMTQ0LTIwLjQtMjA2LTU4LjIgMy40LTUuNiAyNC40LTM2IDI0LjQtNDAuNCAwLTMuOC0zLjQtNy4yLTcuMi03LjItNy44IDAtMjQuNCAzMy4yLTI5LjQgMzkuOC04My42LTU1LjQtMTQ0LTE0MS4yLTE2Ny4yLTIzOS4ybDM4LjItOC40YzQuNC0xLjIgNS42LTQuNCA1LjYtOC40IDAtMy44LTUuNi02LTguOC01LjZMMTI0IDU4OWMtNS0yNS40LTcuOC01MS03LjgtNzcgMC03NC4yIDIxLTE0Ny4yIDYwLjQtMjA5LjggNS42IDMuNCAzMi4yIDIxLjYgMzYuNiAyMS42IDMuOCAwIDcuMi0yLjggNy4yLTYuNiAwLTcuOC0yOS40LTIyLjYtMzYtMjcuMiA1Ni40LTgyLjQgMTQyLjItMTQxLjggMjM5LjYtMTYzLjhsOC40IDM3YzEuMiA0LjQgNC40IDUuNiA4LjQgNS42czYtNS42IDUuNi04LjhMNDM4IDEyMy40YzI0LjQtNC40IDQ5LjItNy4yIDc0LjItNy4yIDc0LjIgMCAxNDYuNiAyMSAyMDkuOCA2MC40LTMuOCA1LjYtMjEuNiAzMS42LTIxLjYgMzYgMCAzLjggMi44IDcuMiA2LjYgNy4yIDcuOCAwIDIyLjYtMjguOCAyNi42LTM1LjQgODIgNTUuNCAxNDAuNiAxNDAgMTYzLjQgMjM2LjRsLTMxIDYuNmMtNSAxLjItNS42IDQuNC01LjYgOC44IDAgMy44IDUuNiA2IDguNCA1LjZsMzEuNi03LjJjNSAyNS40IDcuOCA1MS40IDcuOCA3Ny40IDAgNzIuNi0yMCAxNDQtNTcuNiAyMDUuNC01LjYtMi44LTI4LjgtMTkuNC0zMy4yLTE5LjQtNC4yIDAtNy42IDMuNC03LjYgNy4yeiBtLTY2LjQtNDg0LjRjLTI2IDI0LjQtMjY4LjQgMjQ3LjQtMjc1LjIgMjU5bC0xOTMuMiAzMjFjMjUuNC0yMy44IDI2OC40LTI0OCAyNzQuNi0yNTguNmwxOTMuOC0zMjEuNHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9IndpbjEwIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNDE5LjU5IDQ4OC42MkgwVjE0MC45MjdMNDE5LjU5IDgzLjA4djQwNS41NHogbTAgNDUyLjNMMCA4ODMuMDczVjU0MC4yOTVoNDE5LjU5djQwMC40OHogbTYwNC4zNzgtNDUyLjNoLTU1OC4xOFY3Ni45MDlMMTAyMy45NjcgMHY0ODguNjJ6IG0wIDUzNS4zOGwtNTU4LjE4LTc2Ljk1N1Y1NDAuMjk1aDU1OC4xOHY0ODMuNjczeiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0idWMiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0zMzIgMHEyMSA2IDQyIDExdDQxIDE0cTEwNiA1MyAxMzAuNSAxNTFUNTAyIDM3NXEtMjQgMzQtNTUuNSA1OS41VDM4MCA0ODJxLTUzIDMzLTEwMiA2OS01MyA0MS04MSA5NC41VDE2OCA3NjdxMSA4NiA0NiAxNTF0MTI0IDk2cTYgNCAxMiAxMGgtMzJxLTQwLTYtNzktMTVRODAgOTY5IDIxIDgxNXEtOC0yMy0xMi00OHQtOS01MHYtMjFsMy0yMXEzLTMzIDExLjUtNjQuNVQ0MSA1NTJxMjQtMzUgNTAtNjlsODEtMTA0cTE1LTE5IDI3LTQwIDIyLTQwIDE3LjUtODBUMTg0IDE5MC41cS0yOC0yOC41LTY3LTMzVDM3IDE3MnEtMTUgOC0zMCAxNyAyLTEzIDktMjNRNzYgNzMgMTc2IDMwcTI1LTExIDUxLTE3bDUxLTEzaDU0eiBtMTMyIDEwMjRxOS04IDIwLTE0IDU3LTI4IDg5LjUtNzIuNVQ2MTAgODI5cTQtNjQtMjYuNS0xMTdUNDk3IDYzM3EtMTI3LTU5LTIzNiAzMS01IDUtMTUgOSAzLTEwIDctMTggMzUtNjIgOTctODguNVQ0ODggNTU0cTExNCAyNiAxNzUuNSAxMTguNVQ3MDUgODgycS02IDI0LTEyIDUxIDQyIDMgNzkgMTd0NTkgNTlxLTUxIDUtOTcgOC03MCAzLTE0MCA1LTEwIDAtMjAgMkg0NjR6IG01NjAtMzM5cS0zOC0xMy03NC41LTcuNVQ4NzggNzAxcS0yNiAxMy01NCAxNnQtNTctNnEtNi0xLTExLTUuNXQtOS05LjVxLTU0LTk0LTEzNC41LTE0NFQ0MjEgNTAzbC05LTEtMi01cTE5LTcgMzgtMTIgNDgtOSA5NC41LTV0OTIuNSAxN3E3NCAyMCAxMzcgNjMgNzIgNDcgMTU3IDU0IDEwIDEgMjEgMyAyNiA0IDQ1IDE2LjV0MjkgMzcuNXYxNHpNNTQ3IDQzM3E1My0yMyAxMDQtNDggNDItMjUgODMtNTIgMTUtMTAgMTUtMzAtMS01NSAyNi0xMDMgNy0xMCAxNi0yMiAyMCAxOCAzMC41IDM5LjVUODM3IDI2MnEyIDEwIDcgMTUuNXQxNSA4LjVxODkgMzUgMTI2LjUgMTAzLjVUMTAyMCA1MzJxLTEgNS01IDEwdC05IDdxLTc5IDI3LTE1NC04LTM3LTE4LTczLjUtMzYuNVQ3MDQgNDcwcS03MS0zMS0xNDktMzJsLTgtMXYtNHpNMzk5IDY3MHE2NCAyIDEwNiA0NHQ0NCAxMDVxLTIgNjQtNDQgMTA2dC0xMDYgNDRxLTY0LTEtMTA2LjUtNDMuNVQyNDkgODE5cTEtNjQgNDMuNS0xMDZUMzk5IDY3MHogbTY2IDE1MHEtMS0yOS0xOS41LTQ4dC00Ny0xOC41UTM3MCA3NTQgMzUxIDc3M3QtMTguNSA0N3EwLjUgMjggMTkuNSA0N3Q0Ni41IDE5cTI3LjUgMCA0Ni41LTE5dDIwLTQ3eiIgZmlsbD0iIzY2NjY2NiIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJRUWxpdWxhbnFpbG9nbyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTg2Ni4xMzMzMzMgNzI1LjMzMzMzM2MtNi40LTgxLjA2NjY2Ny03NC42NjY2NjctMTQ1LjA2NjY2Ny0xNTcuODY2NjY2LTE0NS4wNjY2NjYtNzQuNjY2NjY3IDAtMTM4LjY2NjY2NyA1My4zMzMzMzMtMTUzLjYgMTIzLjczMzMzMy0xMi44LTQuMjY2NjY3LTI1LjYtNi40LTM4LjQtNi40LTM2LjI2NjY2NyAwLTY4LjI2NjY2NyAxOS4yLTg3LjQ2NjY2NyA0Ni45MzMzMzMtOTYtMzQuMTMzMzMzLTE2NC4yNjY2NjctMTIzLjczMzMzMy0xNjQuMjY2NjY3LTIzMi41MzMzMzMgMC0xMzYuNTMzMzMzIDExMC45MzMzMzMtMjQ1LjMzMzMzMyAyNDUuMzMzMzM0LTI0NS4zMzMzMzNTNzU1LjIgMzc3LjYgNzU1LjIgNTEyYzAgMTkuMi0yLjEzMzMzMyAzNi4yNjY2NjctNi40IDU1LjQ2NjY2NyAyOS44NjY2NjcgNi40IDU5LjczMzMzMyAyMy40NjY2NjcgODUuMzMzMzMzIDQ2LjkzMzMzMyAyNy43MzMzMzMgMjcuNzMzMzMzIDQyLjY2NjY2NyA1OS43MzMzMzMgNDkuMDY2NjY3IDk2IDE0LjkzMzMzMyA0LjI2NjY2NyAyOS44NjY2NjcgOC41MzMzMzMgNDIuNjY2NjY3IDE3LjA2NjY2NyAzNC4xMzMzMzMtNjQgNTMuMzMzMzMzLTEzOC42NjY2NjcgNTMuMzMzMzMzLTIxNS40NjY2NjcgMC0yNTguMTMzMzMzLTIwOS4wNjY2NjctNDY5LjMzMzMzMy00NjkuMzMzMzMzLTQ2OS4zMzMzMzNTNDIuNjY2NjY3IDI1My44NjY2NjcgNDIuNjY2NjY3IDUxMnMyMDkuMDY2NjY3IDQ2OS4zMzMzMzMgNDY5LjMzMzMzMyA0NjkuMzMzMzMzaDMzOS4yYzcwLjQgMCAxMjgtNTcuNiAxMjgtMTI4IDAtNjYuMTMzMzMzLTQ5LjA2NjY2Ny0xMTkuNDY2NjY3LTExMy4wNjY2NjctMTI4eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iYWxlcnQtY2lyY2xlIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTEyIDk4MS4zMzMzMzNDMjUxLjczMzMzMyA5ODEuMzMzMzMzIDQyLjY2NjY2NyA3NzIuMjY2NjY3IDQyLjY2NjY2NyA1MTJTMjUxLjczMzMzMyA0Mi42NjY2NjcgNTEyIDQyLjY2NjY2N3M0NjkuMzMzMzMzIDIwOS4wNjY2NjcgNDY5LjMzMzMzMyA0NjkuMzMzMzMzLTIwOS4wNjY2NjcgNDY5LjMzMzMzMy00NjkuMzMzMzMzIDQ2OS4zMzMzMzN6IG0wLTg1My4zMzMzMzNjLTIxMy4zMzMzMzMgMC0zODQgMTcwLjY2NjY2Ny0zODQgMzg0czE3MC42NjY2NjcgMzg0IDM4NCAzODQgMzg0LTE3MC42NjY2NjcgMzg0LTM4NC0xNzAuNjY2NjY3LTM4NC0zODQtMzg0eiIgID48L3BhdGg+PHBhdGggZD0iTTUxMiA1NTQuNjY2NjY3Yy0yNS42IDAtNDIuNjY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjctNDIuNjY2NjY3VjM0MS4zMzMzMzNjMC0yNS42IDE3LjA2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2NnM0Mi42NjY2NjcgMTcuMDY2NjY3IDQyLjY2NjY2NyA0Mi42NjY2NjZ2MTcwLjY2NjY2N2MwIDI1LjYtMTcuMDY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3ek01MTIgNzI1LjMzMzMzM2MtNC4yNjY2NjcgMC0xMi44IDAtMTcuMDY2NjY3LTQuMjY2NjY2LTQuMjY2NjY3IDAtOC41MzMzMzMtNC4yNjY2NjctMTIuOC04LjUzMzMzNC04LjUzMzMzMy04LjUzMzMzMy0xMi44LTE3LjA2NjY2Ny0xMi44LTI5Ljg2NjY2NiAwLTQuMjY2NjY3IDAtMTIuOCA0LjI2NjY2Ny0xNy4wNjY2NjcgNC4yNjY2NjctNC4yNjY2NjcgNC4yNjY2NjctOC41MzMzMzMgOC41MzMzMzMtMTIuOCA0LjI2NjY2Ny00LjI2NjY2NyA4LjUzMzMzMy04LjUzMzMzMyAxMi44LTguNTMzMzMzIDguNTMzMzMzLTQuMjY2NjY3IDIxLjMzMzMzMy00LjI2NjY2NyAzNC4xMzMzMzQgMCA0LjI2NjY2NyAwIDguNTMzMzMzIDQuMjY2NjY3IDEyLjggOC41MzMzMzMgNC4yNjY2NjcgNC4yNjY2NjcgOC41MzMzMzMgOC41MzMzMzMgOC41MzMzMzMgMTIuOHM0LjI2NjY2NyAxMi44IDQuMjY2NjY3IDE3LjA2NjY2N2MwIDEyLjgtNC4yNjY2NjcgMjEuMzMzMzMzLTEyLjggMjkuODY2NjY2LTguNTMzMzMzIDguNTMzMzMzLTE3LjA2NjY2NyAxMi44LTI5Ljg2NjY2NyAxMi44eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0ieC1jaXJjbGUiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik01MTIgOTgxLjMzMzMzM0MyNTEuNzMzMzMzIDk4MS4zMzMzMzMgNDIuNjY2NjY3IDc3Mi4yNjY2NjcgNDIuNjY2NjY3IDUxMlMyNTEuNzMzMzMzIDQyLjY2NjY2NyA1MTIgNDIuNjY2NjY3czQ2OS4zMzMzMzMgMjA5LjA2NjY2NyA0NjkuMzMzMzMzIDQ2OS4zMzMzMzMtMjA5LjA2NjY2NyA0NjkuMzMzMzMzLTQ2OS4zMzMzMzMgNDY5LjMzMzMzM3ogbTAtODUzLjMzMzMzM2MtMjEzLjMzMzMzMyAwLTM4NCAxNzAuNjY2NjY3LTM4NCAzODRzMTcwLjY2NjY2NyAzODQgMzg0IDM4NCAzODQtMTcwLjY2NjY2NyAzODQtMzg0LTE3MC42NjY2NjctMzg0LTM4NC0zODR6IiAgPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY4Mi42NjY2NjdjLTEyLjggMC0yMS4zMzMzMzMtNC4yNjY2NjctMjkuODY2NjY3LTEyLjgtMTcuMDY2NjY3LTE3LjA2NjY2Ny0xNy4wNjY2NjctNDIuNjY2NjY3IDAtNTkuNzMzMzM0bDI1Ni0yNTZjMTcuMDY2NjY3LTE3LjA2NjY2NyA0Mi42NjY2NjctMTcuMDY2NjY3IDU5LjczMzMzNCAwIDE3LjA2NjY2NyAxNy4wNjY2NjcgMTcuMDY2NjY3IDQyLjY2NjY2NyAwIDU5LjczMzMzNGwtMjU2IDI1NmMtOC41MzMzMzMgOC41MzMzMzMtMTcuMDY2NjY3IDEyLjgtMjkuODY2NjY3IDEyLjh6IiAgPjwvcGF0aD48cGF0aCBkPSJNNjQwIDY4Mi42NjY2NjdjLTEyLjggMC0yMS4zMzMzMzMtNC4yNjY2NjctMjkuODY2NjY3LTEyLjhsLTI1Ni0yNTZjLTE3LjA2NjY2Ny0xNy4wNjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2NyAwLTU5LjczMzMzNCAxNy4wNjY2NjctMTcuMDY2NjY3IDQyLjY2NjY2Ny0xNy4wNjY2NjcgNTkuNzMzMzM0IDBsMjU2IDI1NmMxNy4wNjY2NjcgMTcuMDY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgMCA1OS43MzMzMzQtOC41MzMzMzMgOC41MzMzMzMtMTcuMDY2NjY3IDEyLjgtMjkuODY2NjY3IDEyLjh6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJjaGVjay1jaXJjbGUiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik01MTIgOTgxLjMzMzMzM0MyNTEuNzMzMzMzIDk4MS4zMzMzMzMgNDIuNjY2NjY3IDc3Mi4yNjY2NjcgNDIuNjY2NjY3IDUxMlMyNTEuNzMzMzMzIDQyLjY2NjY2NyA1MTIgNDIuNjY2NjY3YzY4LjI2NjY2NyAwIDEzMi4yNjY2NjcgMTIuOCAxOTIgNDIuNjY2NjY2IDIxLjMzMzMzMyA4LjUzMzMzMyAyOS44NjY2NjcgMzQuMTMzMzMzIDIxLjMzMzMzMyA1NS40NjY2NjctOC41MzMzMzMgMjEuMzMzMzMzLTM0LjEzMzMzMyAyOS44NjY2NjctNTUuNDY2NjY2IDIxLjMzMzMzMy01MS4yLTIxLjMzMzMzMy0xMDIuNC0zNC4xMzMzMzMtMTU3Ljg2NjY2Ny0zNC4xMzMzMzMtMjEzLjMzMzMzMyAwLTM4NCAxNzAuNjY2NjY3LTM4NCAzODRzMTcwLjY2NjY2NyAzODQgMzg0IDM4NCAzODQtMTcwLjY2NjY2NyAzODQtMzg0di0zOC40YzAtMjUuNiAxNy4wNjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjdzNDIuNjY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjYgNDIuNjY2NjY3djM4LjRjMCAyNjAuMjY2NjY3LTIwOS4wNjY2NjcgNDY5LjMzMzMzMy00NjkuMzMzMzMzIDQ2OS4zMzMzMzN6IiAgPjwvcGF0aD48cGF0aCBkPSJNNTEyIDY0MGMtMTIuOCAwLTIxLjMzMzMzMy00LjI2NjY2Ny0yOS44NjY2NjctMTIuOGwtMTI4LTEyOGMtMTcuMDY2NjY3LTE3LjA2NjY2Ny0xNy4wNjY2NjctNDIuNjY2NjY3IDAtNTkuNzMzMzMzczQyLjY2NjY2Ny0xNy4wNjY2NjcgNTkuNzMzMzM0IDBsOTguMTMzMzMzIDk4LjEzMzMzMyAzOTYuOC0zOTYuOGMxNy4wNjY2NjctMTcuMDY2NjY3IDQyLjY2NjY2Ny0xNy4wNjY2NjcgNTkuNzMzMzMzIDAgMTcuMDY2NjY3IDE3LjA2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDAgNTkuNzMzMzMzbC00MjYuNjY2NjY2IDQyNi42NjY2NjdjLTguNTMzMzMzIDguNTMzMzMzLTE3LjA2NjY2NyAxMi44LTI5Ljg2NjY2NyAxMi44eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iYWxpZ24tbGVmdCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTcyNS4zMzMzMzMgNDY5LjMzMzMzM0gxMjhjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjZzMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3aDU5Ny4zMzMzMzNjMjUuNiAwIDQyLjY2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDQyLjY2NjY2N3MtMTcuMDY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY2ek04OTYgMjk4LjY2NjY2N0gxMjhjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjdzMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3aDc2OGMyNS42IDAgNDIuNjY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY3cy0xNy4wNjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2Njd6TTg5NiA2NDBIMTI4Yy0yNS42IDAtNDIuNjY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjctNDIuNjY2NjY3czE3LjA2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2Nmg3NjhjMjUuNiAwIDQyLjY2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDQyLjY2NjY2NnMtMTcuMDY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3ek03MjUuMzMzMzMzIDgxMC42NjY2NjdIMTI4Yy0yNS42IDAtNDIuNjY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjctNDIuNjY2NjY3czE3LjA2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2N2g1OTcuMzMzMzMzYzI1LjYgMCA0Mi42NjY2NjcgMTcuMDY2NjY3IDQyLjY2NjY2NyA0Mi42NjY2NjdzLTE3LjA2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9ImNvcHkiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04NjIuOTA0IDY1LjE2OGM1Ny4wMTIgMC4wNiAxMDMuMjEyIDQ2LjI2IDEwMy4yODQgMTAzLjI2djU3NS40MzZjLTAuMDcyIDU3LjAxMi00Ni4yNzIgMTAzLjItMTAzLjI4NCAxMDMuMjZINzIwLjQyOHY4LjQ0OGMtMC4wNiA1Ny00Ni4yNiAxMDMuMi0xMDMuMjYgMTAzLjI2SDE3NS43ODRjLTU3LjAxMi0wLjA2LTEwMy4yLTQ2LjI2LTEwMy4yNi0xMDMuMjZWMjgwLjEzNmMwLjA2LTU3IDQ2LjI2LTEwMy4yIDEwMy4yNi0xMDMuMjZoMTQyLjV2LTguNDQ4YzAuMDcyLTU3LjAxMiA0Ni4yNzItMTAzLjIgMTAzLjI4NC0xMDMuMjZoNDQxLjMzNnpNMTc1LjgwOCA4OTEuODEyaDQ0MS4zNDhjMjAuMDA0LTAuMDM2IDM2LjIxNi0xNi4yMzYgMzYuMjY0LTM2LjI0VjI4MC4xMzZjMC0xOS45NjgtMTYuMjYtMzYuMjQtMzYuMjQtMzYuMjRoLTQ0MS4zNmMtMTkuOTY4IDAtMzYuMjY0IDE2LjI2LTM2LjI2NCAzNi4yNHY1NzUuNDM2Yy0wLjAxMiAxOS45OTIgMTYuMjcyIDM2LjI0IDM2LjI1MiAzNi4yNHogbTcyMy4zNi0xNDcuOTQ4VjE2OC40MjhjMC0xOS45NjgtMTYuMjg0LTM2LjI0LTM2LjI1Mi0zNi4yNEg0MjEuNTY4Yy0xOS45NjggMC0zNi4yNTIgMTYuMjcyLTM2LjI1MiAzNi4yNHY4LjQ0OGgyMzEuODY0YzU3IDAuMDYgMTAzLjIgNDYuMjYgMTAzLjI2IDEwMy4yNnY0OTkuOTY4aDE0Mi40NzZjMTkuOTY4IDAgMzYuMjUyLTE2LjI0OCAzNi4yNTItMzYuMjR6IG0tMzY4LjY0LTM2NS45MTZjMTguNTE2IDAgMzMuNTE2IDE1IDMzLjUxNiAzMy41MTYgMCAxOC41MDQtMTUgMzMuNTE2LTMzLjUxNiAzMy41MTZIMjYyLjQyNGMtMTguNTA0IDAtMzMuNTE2LTE1LTMzLjUxNi0zMy41MTZzMTUtMzMuNTE2IDMzLjUxNi0zMy41MTZoMjY4LjEwNHogbTAgMTU2LjM5NmMxOC41MTYgMCAzMy41MTYgMTUgMzMuNTE2IDMzLjUxNiAwIDE4LjUwNC0xNSAzMy41MTYtMzMuNTE2IDMzLjUxNkgyNjIuNDI0Yy0xOC41MDQgMC0zMy41MTYtMTUtMzMuNTE2LTMzLjUxNnMxNS0zMy41MTYgMzMuNTE2LTMzLjUxNmgyNjguMTA0eiBtLTg5LjM3NiAxNTYuMzk2YzE4LjUxNiAwIDMzLjUxNiAxNSAzMy41MTYgMzMuNTE2IDAgMTguNTA0LTE1IDMzLjUxNi0zMy41MTYgMzMuNTE2SDI2Mi40MjRjLTE4LjUwNCAwLTMzLjUxNi0xNS0zMy41MTYtMzMuNTE2czE1LTMzLjUxNiAzMy41MTYtMzMuNTE2aDE3OC43Mjh6IG0wIDAiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9ImV5ZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTUxMiAxNDcuOTExMTExNDdjMTI0LjE1NDMxMTQ3IDAgMjQyLjg0NzI4ODUzIDY1LjA4MDg4ODUzIDM1My40MzkyODg1MyAxNzIuMDc3NTEwNCAzNy43NzQyMjE4NyAzNi40OTk5MTE0NyA3MS45MDc1NTUyIDc1LjQ1NzQyMTg3IDEwMS45NDQ4ODk2IDExNC40NjA0NDQ4IDE4LjE1ODkzMzMzIDIzLjQ4MzczMzMzIDMxLjAzODU3ODEzIDQyLjAwNjc1NTIgMzguMDQ3Mjg4NTQgNTMuMDIwNDQ0OGwxNS43MDEzMzMzMyAyNC41MzA0ODg1My0xNS43MDEzMzMzMyAyNC41MzA0ODg1M2MtNy4wMDg3MTE0NyAxMS4wMTM2ODg1My0xOS44ODgzNTUyIDI5LjUzNjcxMTQ3LTM4LjA0NzI4ODU0IDUzLjAyMDQ0NDgtMzAuMDM3MzMzMzMgMzkuMDAzMDIxODctNjQuMTcwNjY2NjcgNzcuOTYwNTMzMzMtMTAxLjk0NDg4OTYgMTE0LjQ2MDQ0NDhDNzU0Ljg0NzI4ODUzIDgxMC45NjI0ODg1MyA2MzYuMTU0MzExNDcgODc2LjA4ODg4ODUzIDUxMiA4NzYuMDg4ODg4NTNjLTEyNC4xNTQzMTE0NyAwLTI0Mi44NDcyODg1My02NS4wODA4ODg1My0zNTMuNDM5Mjg4NTMtMTcyLjA3NzUxMDRhMTA2MC42MzY0NDQ4IDEwNjAuNjM2NDQ0OCAwIDAgMS0xMDEuOTQ0ODg5Ni0xMTQuNDYwNDQ0OCA3OTUuNzE2MjY2NjcgNzk1LjcxNjI2NjY3IDAgMCAxLTM4LjA0NzI4ODU0LTUzLjAyMDQ0NDhMMi44NjcyIDUxMmwxNS43MDEzMzMzMy0yNC41MzA0ODg1M2M3LjAwODcxMTQ3LTExLjAxMzY4ODUzIDE5Ljg4ODM1NTItMjkuNTM2NzExNDcgMzguMDQ3Mjg4NTQtNTMuMDIwNDQ0OCAzMC4wMzczMzMzMy0zOS4wMDMwMjE4NyA2NC4xNzA2NjY2Ny03Ny45NjA1MzMzMyAxMDEuOTQ0ODg5Ni0xMTQuNDYwNDQ0OEMyNjkuMTUyNzExNDcgMjEzLjAzNzUxMTQ3IDM4Ny44NDU2ODg1MyAxNDcuOTExMTExNDcgNTEyIDE0Ny45MTExMTE0N3ogbTM4My4yOTQ1NzgxMyAzNDIuMTA3MDIxODZhOTcwLjY2MDk3ODEzIDk3MC42NjA5NzgxMyAwIDAgMC05My4xMTU3MzMzMy0xMDQuNTg0NTMzMzNDNzA2LjkyNDA4ODUzIDI5My4yNzM2IDYwNy44NDY0IDIzOC45MzMzMzMzMyA1MTIgMjM4LjkzMzMzMzMzIDQxNi4xOTkxMTE0NyAyMzguOTMzMzMzMzMgMzE3LjA3NTkxMTQ3IDI5My4yNzM2IDIyMS44MjExNTUyIDM4NS40MzM2QTk3MC42NjA5NzgxMyA5NzAuNjYwOTc4MTMgMCAwIDAgMTEyLjIzMDQgNTEyYTk3MC42NjA5NzgxMyA5NzAuNjYwOTc4MTMgMCAwIDAgMTA5LjU5MDc1NTIgMTI2LjU2NjRDMzE3LjA3NTkxMTQ3IDczMC43MjY0IDQxNi4xNTM2IDc4NS4wNjY2NjY2NyA1MTIgNzg1LjA2NjY2NjY3Yzk1LjgwMDg4ODUzIDAgMTk0LjkyNDA4ODUzLTU0LjM0MDI2NjY3IDI5MC4xNzg4NDQ4LTE0Ni41MDAyNjY2N0E5NzAuNjYwOTc4MTMgOTcwLjY2MDk3ODEzIDAgMCAwIDkxMS43Njk2IDUxMmMtNS4wMDYyMjE4Ny02LjkxNzY4ODUzLTEwLjUxMzA2NjY3LTE0LjI5MDQ4ODUzLTE2LjQ3NTAyMTg3LTIxLjk4MTg2NjY3ek01MTIgNjk0LjA0NDQ0NDhhMTgyLjA0NDQ0NDggMTgyLjA0NDQ0NDggMCAxIDEgMC0zNjQuMDg4ODg5NiAxODIuMDQ0NDQ0OCAxODIuMDQ0NDQ0OCAwIDAgMSAwIDM2NC4wODg4ODk2eiBtMC05MS4wMjIyMjI5M2E5MS4wMjIyMjE4NyA5MS4wMjIyMjE4NyAwIDEgMCAwLTE4Mi4wNDQ0NDM3NCA5MS4wMjIyMjE4NyA5MS4wMjIyMjE4NyAwIDAgMCAwIDE4Mi4wNDQ0NDM3NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9IndyaXRlIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMzQxLjMzMzMzMyA4OTZ2NDIuNjY2NjY3YTIxLjMzMzMzMyAyMS4zMzMzMzMgMCAwIDEtMjEuMzMzMzMzIDIxLjMzMzMzM0gxOTJhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMS04NS4zMzMzMzMtODUuMzMzMzMzVjE0OS4zMzMzMzNhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzMtODUuMzMzMzMzaDU1NC42NjY2NjdhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzMgODUuMzMzMzMzdjEwNi42NjY2NjdhMjEuMzMzMzMzIDIxLjMzMzMzMyAwIDAgMS0yMS4zMzMzMzMgMjEuMzMzMzMzaC00Mi42NjY2NjdhMjEuMzMzMzMzIDIxLjMzMzMzMyAwIDAgMS0yMS4zMzMzMzMtMjEuMzMzMzMzVjE0OS4zMzMzMzNIMTkydjcyNS4zMzMzMzRoMTI4YTIxLjMzMzMzMyAyMS4zMzMzMzMgMCAwIDEgMjEuMzMzMzMzIDIxLjMzMzMzM3ogbTQ4OC42NC00MjAuMjQ1MzMzTDUxMiA3NzEuMjY0VjgzMmg1Ny42bDMxOC40ODUzMzMtMjk2LjQ5MDY2Ny01OC4xMTItNTkuNzMzMzMzeiBtLTI0LjQ5MDY2Ni05My43Mzg2NjdhMzguNCAzOC40IDAgMCAxIDUzLjY3NDY2NiAxLjM2NTMzM2wxMjMuNTQxMzM0IDEyNy4wMTg2NjdhMzguNCAzOC40IDAgMCAxLTEuMzQ0IDU0Ljg2OTMzM2wtMzY3LjE0NjY2NyAzNDEuNzZhMzguNCAzOC40IDAgMCAxLTI2LjE1NDY2NyAxMC4zMDRINDY1LjA2NjY2N2EzOC40IDM4LjQgMCAwIDEtMzguNC0zOC40di0xMjguMTI4YzAtMTAuNjY2NjY3IDQuNDM3MzMzLTIwLjg2NCAxMi4yNjY2NjYtMjguMTE3MzMzbDM2Ni41NDkzMzQtMzQwLjY3MnpNMjk4LjY2NjY2NyAyNzcuMzMzMzMzaDM0MS4zMzMzMzNhMjEuMzMzMzMzIDIxLjMzMzMzMyAwIDAgMSAyMS4zMzMzMzMgMjEuMzMzMzM0djQyLjY2NjY2NmEyMS4zMzMzMzMgMjEuMzMzMzMzIDAgMCAxLTIxLjMzMzMzMyAyMS4zMzMzMzRIMjk4LjY2NjY2N2EyMS4zMzMzMzMgMjEuMzMzMzMzIDAgMCAxLTIxLjMzMzMzNC0yMS4zMzMzMzR2LTQyLjY2NjY2NmEyMS4zMzMzMzMgMjEuMzMzMzMzIDAgMCAxIDIxLjMzMzMzNC0yMS4zMzMzMzR6IG0wIDE3MC42NjY2NjdoMTcwLjY2NjY2NmEyMS4zMzMzMzMgMjEuMzMzMzMzIDAgMCAxIDIxLjMzMzMzNCAyMS4zMzMzMzN2NDIuNjY2NjY3YTIxLjMzMzMzMyAyMS4zMzMzMzMgMCAwIDEtMjEuMzMzMzM0IDIxLjMzMzMzM2gtMTcwLjY2NjY2NmEyMS4zMzMzMzMgMjEuMzMzMzMzIDAgMCAxLTIxLjMzMzMzNC0yMS4zMzMzMzN2LTQyLjY2NjY2N2EyMS4zMzMzMzMgMjEuMzMzMzMzIDAgMCAxIDIxLjMzMzMzNC0yMS4zMzMzMzN6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJob21lIiB2aWV3Qm94PSIwIDAgMTE1OCAxMDI0Ij48cGF0aCBkPSJNMTAyOC4xNjI3ODMgNTcyLjI4OTg1NTMzYy0xMS4zOTc1NjUgMC0yMi43NzI4Ny00LjM0MDg3LTMxLjQ3Njg3LTEzLjA0NDg3bC00NDUuMjE3MzkxLTQ0NS4yMTczOTFjLTguNzA0LTguNzA0LTEzLjA0NDg3LTIwLjA3OTMwNC0xMy4wNDQ4Ny0zMS40NzY4N3M0LjM0MDg3LTIyLjc5NTEzIDEzLjA0NDg3LTMxLjQ3Njg3YzE3LjM2MzQ3OC0xNy4zODU3MzkgNDUuNTY4LTE3LjM4NTczOSA2Mi45NzYgMGw0NDUuMTk1MTMgNDQ1LjIxNzM5MWM4LjcwNCA4LjcwNCAxMy4wNDQ4NyAyMC4wNzkzMDQgMTMuMDQ0ODcgMzEuNDc2ODdzLTQuMzQwODcgMjIuNzcyODctMTMuMDQ0ODcgMzEuNDc2ODdTMTAzOS41MzgwODcgNTcyLjI4OTg1NTMzIDEwMjguMTYyNzgzIDU3Mi4yODk4NTUzM3oiICA+PC9wYXRoPjxwYXRoIGQ9Ik05MTIuNjk1NjUyIDk3OC41NTA3MjQzM0w2OTAuMDg2OTU3IDk3OC41NTA3MjQzM2MtMjQuNTc2IDAtNDQuNTIxNzM5LTE5Ljk0NTczOS00NC41MjE3MzktNDQuNTIxNzM5TDY0NS41NjUyMTcgNjg5LjE1OTQyMDMzbC0xNzguMDg2OTU3IDBjLTI0LjU3NiAwLTQ0LjUyMTczOS0xOS45NDU3MzktNDQuNTIxNzM5LTQ0LjUyMTczOXMxOS45NDU3MzktNDQuNTIxNzM5IDQ0LjUyMTczOS00NC41MjE3MzlsMjIyLjYwODY5NiAwYzI0LjU3NiAwIDQ0LjUyMTczOSAxOS45NDU3MzkgNDQuNTIxNzM5IDQ0LjUyMTczOWwwIDI0NC44Njk1NjUgMTMzLjU2NTIxNyAwTDg2OC4xNzM5MTMgNTMzLjMzMzMzMzMzYzAtMjQuNTc2IDE5Ljk0NTczOS00NC41MjE3MzkgNDQuNTIxNzM5LTQ0LjUyMTczOWwxMTEuMzA0MzQ4IDBjMjQuNTc2IDAgNDQuNTIxNzM5IDE5Ljk0NTczOSA0NC41MjE3MzkgNDQuNTIxNzM5cy0xOS45NDU3MzkgNDQuNTIxNzM5LTQ0LjUyMTczOSA0NC41MjE3MzlsLTY2Ljc4MjYwOSAwIDAgMzU2LjE3MzkxM0M5NTcuMjE3MzkxIDk1OC42MDQ5ODUzMyA5MzcuMjcxNjUyIDk3OC41NTA3MjQzMyA5MTIuNjk1NjUyIDk3OC41NTA3MjQzM3oiICA+PC9wYXRoPjxwYXRoIGQ9Ik0xMzMuNTY1MjE3IDU3Mi4yODk4NTUzM2MtMTEuMzk3NTY1IDAtMjIuNzk1MTMtNC4zNDA4Ny0zMS40NzY4Ny0xMy4wNDQ4N0M5My4zODQzNDggNTUwLjU0MDk4NTMzIDg5LjA0MzQ3OCA1MzkuMTY1NjgxMzMgODkuMDQzNDc4IDUyNy43NjgxMTYzM3M0LjM0MDg3LTIyLjc5NTEzIDEzLjA0NDg3LTMxLjQ3Njg3bDQ0NS4yMTczOTEtNDQ1LjIxNzM5MWMxNy4zNjM0NzgtMTcuMzg1NzM5IDQ1LjU2OC0xNy4zODU3MzkgNjIuOTUzNzM5IDBDNjE4Ljk2MzQ3OCA1OS43NTU1OTQzMyA2MjMuMzA0MzQ4IDcxLjE1MzE1OTMzIDYyMy4zMDQzNDggODIuNTUwNzI0MzNzLTQuMzQwODcgMjIuNzk1MTMtMTMuMDQ0ODcgMzEuNDc2ODdsLTQ0NS4yMTczOTEgNDQ1LjIxNzM5MUMxNTYuMzYwMzQ4IDU2Ny45NDg5ODUzMyAxNDQuOTYyNzgzIDU3Mi4yODk4NTUzMyAxMzMuNTY1MjE3IDU3Mi4yODk4NTUzM3oiICA+PC9wYXRoPjxwYXRoIGQ9Ik00NjcuNDc4MjYxIDk3OC41NTA3MjQzM0wyNDQuODY5NTY1IDk3OC41NTA3MjQzM2MtMjQuNTc2IDAtNDQuNTIxNzM5LTE5Ljk0NTczOS00NC41MjE3MzktNDQuNTIxNzM5TDIwMC4zNDc4MjYgNTc3Ljg1NTA3MjMzIDEzMy41NjUyMTcgNTc3Ljg1NTA3MjMzYy0yNC41NzYgMC00NC41MjE3MzktMTkuOTQ1NzM5LTQ0LjUyMTczOS00NC41MjE3MzlzMTkuOTQ1NzM5LTQ0LjUyMTczOSA0NC41MjE3MzktNDQuNTIxNzM5bDExMS4zMDQzNDggMGMyNC41NzYgMCA0NC41MjE3MzkgMTkuOTQ1NzM5IDQ0LjUyMTczOSA0NC41MjE3MzlsMCAzNTYuMTczOTEzIDEzMy41NjUyMTcgMEw0MjIuOTU2NTIyIDY0NC42Mzc2ODEzM2MwLTI0LjU3NiAxOS45NDU3MzktNDQuNTIxNzM5IDQ0LjUyMTczOS00NC41MjE3MzlsMjIyLjYwODY5NiAwYzI0LjU3NiAwIDQ0LjUyMTczOSAxOS45NDU3MzkgNDQuNTIxNzM5IDQ0LjUyMTczOXMtMTkuOTQ1NzM5IDQ0LjUyMTczOS00NC41MjE3MzkgNDQuNTIxNzM5bC0xNzguMDg2OTU3IDAgMCAyNDQuODY5NTY1QzUxMiA5NTguNjA0OTg1MzMgNDkyLjA1NDI2MSA5NzguNTUwNzI0MzMgNDY3LjQ3ODI2MSA5NzguNTUwNzI0MzN6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJncmlkIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNDMyLjAwMDAwMDMxIDQ3MS45OTk5OTk2OUgxNTJjLTI0IDAtNDAuMDAwMDAwMzEtMTYuMDAwMDAwMzEtNDAuMDAwMDAwMzEtMzkuOTk5OTk5MzhWMTUyYzAtMjQgMTYuMDAwMDAwMzEtNDAuMDAwMDAwMzEgNDAuMDAwMDAwMzEtNDAuMDAwMDAwMzFoMjgwLjAwMDAwMDMxYzI0IDAgNDAuMDAwMDAwMzEgMTYuMDAwMDAwMzEgMzkuOTk5OTk5MzggNDAuMDAwMDAwMzF2MjgwLjAwMDAwMDMxYzAgMjQtMTYuMDAwMDAwMzEgNDAuMDAwMDAwMzEtMzkuOTk5OTk5MzggMzkuOTk5OTk5Mzh6TTE5Mi4wMDAwMDAzMSAzOTJoMTk5Ljk5OTk5OTY5VjE5Mi4wMDAwMDAzMUgxOTIuMDAwMDAwMzF2MTk5Ljk5OTk5OTY5ek04NzIgNDcxLjk5OTk5OTY5aC0yODAuMDAwMDAwMzFjLTI0IDAtNDAuMDAwMDAwMzEtMTYuMDAwMDAwMzEtMzkuOTk5OTk5MzgtMzkuOTk5OTk5MzhWMTUyYzAtMjQgMTYuMDAwMDAwMzEtNDAuMDAwMDAwMzEgMzkuOTk5OTk5MzgtNDAuMDAwMDAwMzFoMjgwLjAwMDAwMDMxYzI0IDAgNDAuMDAwMDAwMzEgMTYuMDAwMDAwMzEgNDAuMDAwMDAwMzEgNDAuMDAwMDAwMzF2MjgwLjAwMDAwMDMxYzAgMjQtMTYuMDAwMDAwMzEgNDAuMDAwMDAwMzEtNDAuMDAwMDAwMzEgMzkuOTk5OTk5Mzh6IG0tMjQwLTc5Ljk5OTk5OTY5aDE5OS45OTk5OTk2OVYxOTIuMDAwMDAwMzFoLTE5OS45OTk5OTk2OXYxOTkuOTk5OTk5Njl6TTg3MiA5MTIuMDAwMDAwMzFoLTI4MC4wMDAwMDAzMWMtMjQgMC00MC4wMDAwMDAzMS0xNi4wMDAwMDAzMS0zOS45OTk5OTkzOC00MC4wMDAwMDAzMXYtMjgwLjAwMDAwMDMxYzAtMjQgMTYuMDAwMDAwMzEtNDAuMDAwMDAwMzEgMzkuOTk5OTk5MzgtMzkuOTk5OTk5MzhoMjgwLjAwMDAwMDMxYzI0IDAgNDAuMDAwMDAwMzEgMTYuMDAwMDAwMzEgNDAuMDAwMDAwMzEgMzkuOTk5OTk5Mzh2MjgwLjAwMDAwMDMxYzAgMjQtMTYuMDAwMDAwMzEgNDAuMDAwMDAwMzEtNDAuMDAwMDAwMzEgNDAuMDAwMDAwMzF6IG0tMjQwLTgwLjAwMDAwMDYyaDE5OS45OTk5OTk2OXYtMTk5Ljk5OTk5OTY5aC0xOTkuOTk5OTk5Njl2MTk5Ljk5OTk5OTY5ek00MzIuMDAwMDAwMzEgOTEyLjAwMDAwMDMxSDE1MmMtMjQgMC00MC4wMDAwMDAzMS0xNi4wMDAwMDAzMS00MC4wMDAwMDAzMS00MC4wMDAwMDAzMXYtMjgwLjAwMDAwMDMxYzAtMjQgMTYuMDAwMDAwMzEtNDAuMDAwMDAwMzEgNDAuMDAwMDAwMzEtMzkuOTk5OTk5MzhoMjgwLjAwMDAwMDMxYzI0IDAgNDAuMDAwMDAwMzEgMTYuMDAwMDAwMzEgMzkuOTk5OTk5MzggMzkuOTk5OTk5Mzh2MjgwLjAwMDAwMDMxYzAgMjQtMTYuMDAwMDAwMzEgNDAuMDAwMDAwMzEtMzkuOTk5OTk5MzggNDAuMDAwMDAwMzF6IG0tMjQwLTgwLjAwMDAwMDYyaDE5OS45OTk5OTk2OXYtMTk5Ljk5OTk5OTY5SDE5Mi4wMDAwMDAzMXYxOTkuOTk5OTk5Njl6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJ0YWxrIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTg4LjI4OCA3NDYuNjY2NjY3SDkyNC40NDQ0NDRjNy44NTA2NjcgMCAxNC4yMjIyMjItNi40NTY4ODkgMTQuMjIyMjIzLTE0LjM5Mjg4OVYxNTcuNDY4NDQ0YTE0LjMwNzU1NiAxNC4zMDc1NTYgMCAwIDAtMTQuMjIyMjIzLTE0LjM2NDQ0NGgtODI0Ljg4ODg4OGMtNy44NTA2NjcgMC0xNC4yMjIyMjIgNi40Mjg0NDQtMTQuMjIyMjIzIDE0LjM2NDQ0NHY1NzQuODA1MzM0YzAgNy45NjQ0NDQgNi4zNzE1NTYgMTQuMzY0NDQ0IDE0LjIyMjIyMyAxNC4zNjQ0NDRoMzA3LjcxMmw5MC41MTAyMjIgOTUuNjg3MTExIDkwLjUxMDIyMi05NS42ODcxMTF6TTUxMiA1MDIuMzI4ODg5YzMxLjQzMTExMSAwIDU2Ljg4ODg4OS0yNS43NDIyMjIgNTYuODg4ODg5LTU3LjQ1Nzc3OGE1Ny4xNzMzMzMgNTcuMTczMzMzIDAgMCAwLTU2Ljg4ODg4OS01Ny40ODYyMjJjLTMxLjQzMTExMSAwLTU2Ljg4ODg4OSAyNS43MTM3NzgtNTYuODg4ODg5IDU3LjQ1Nzc3OGE1Ny4xNzMzMzMgNTcuMTczMzMzIDAgMCAwIDU2Ljg4ODg4OSA1Ny40ODYyMjJ6IG0yNTYgMGMtMzEuNDMxMTExIDAtNTYuODg4ODg5LTI1Ljc0MjIyMi01Ni44ODg4ODktNTcuNDU3Nzc4YTU3LjE3MzMzMyA1Ny4xNzMzMzMgMCAwIDEgNTYuODg4ODg5LTU3LjQ4NjIyMmMzMS40MzExMTEgMCA1Ni44ODg4ODkgMjUuNzEzNzc4IDU2Ljg4ODg4OSA1Ny40NTc3NzhhNTcuMTczMzMzIDU3LjE3MzMzMyAwIDAgMS01Ni44ODg4ODkgNTcuNDg2MjIyeiBtLTQ4My41NTU1NTYgMGMtMzEuNDMxMTExIDAtNTYuODg4ODg5LTI1Ljc0MjIyMi01Ni44ODg4ODgtNTcuNDU3Nzc4YTU3LjE3MzMzMyA1Ny4xNzMzMzMgMCAwIDEgNTYuODg4ODg4LTU3LjQ4NjIyMmMzMS40MzExMTEgMCA1Ni44ODg4ODkgMjUuNzEzNzc4IDU2Ljg4ODg4OSA1Ny40NTc3NzhhNTcuMTczMzMzIDU3LjE3MzMzMyAwIDAgMS01Ni44ODg4ODkgNTcuNDg2MjIyeiBtLTE4NC44ODg4ODggMzMwLjUyNDQ0NGMtNTQuOTgzMTExIDAtOTkuNTU1NTU2LTQ1LjA1Ni05OS41NTU1NTYtMTAwLjYwOFYxNTcuNDY4NDQ0QzAgMTAxLjkxNjQ0NCA0NC41NzI0NDQgNTYuODg4ODg5IDk5LjU1NTU1NiA1Ni44ODg4ODloODI0Ljg4ODg4OEM5NzkuNDI3NTU2IDU2Ljg4ODg4OSAxMDI0IDEwMS45MTY0NDQgMTAyNCAxNTcuNDY4NDQ0djU3NC44MDUzMzRjMCA1NS41NTItNDQuNTcyNDQ0IDEwMC42MDgtOTkuNTU1NTU2IDEwMC42MDhINjI0Ljc4MjIyMkw0OTcuNzc3Nzc4IDk2Ny4xMTExMTFsLTEyNy4wMDQ0NDUtMTM0LjI1Nzc3OEg5OS41NTU1NTZ6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJwZW4iIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik02NDAgOTgxLjMzMzMzM2MtMTIuOCAwLTIxLjMzMzMzMy00LjI2NjY2Ny0yOS44NjY2NjctMTIuOGwtMTI4LTEyOGMtMTcuMDY2NjY3LTE3LjA2NjY2Ny0xNy4wNjY2NjctNDIuNjY2NjY3IDAtNTkuNzMzMzMzbDI5OC42NjY2NjctMjk4LjY2NjY2N2MxNy4wNjY2NjctMTcuMDY2NjY3IDQyLjY2NjY2Ny0xNy4wNjY2NjcgNTkuNzMzMzMzIDBsMTI4IDEyOGMxNy4wNjY2NjcgMTcuMDY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgMCA1OS43MzMzMzRsLTI5OC42NjY2NjYgMjk4LjY2NjY2NmMtOC41MzMzMzMgOC41MzMzMzMtMTcuMDY2NjY3IDEyLjgtMjkuODY2NjY3IDEyLjh6IG0tNjguMjY2NjY3LTE3MC42NjY2NjZsNjguMjY2NjY3IDY4LjI2NjY2NiAyMzguOTMzMzMzLTIzOC45MzMzMzMtNjguMjY2NjY2LTY4LjI2NjY2Ny0yMzguOTMzMzM0IDIzOC45MzMzMzR6IiAgPjwvcGF0aD48cGF0aCBkPSJNNTU0LjY2NjY2NyA4MTAuNjY2NjY3aC04LjUzMzMzNGwtMzIwLTY0Yy0xNy4wNjY2NjctNC4yNjY2NjctMjkuODY2NjY3LTE3LjA2NjY2Ny0zNC4xMzMzMzMtMjkuODY2NjY3TDQyLjY2NjY2NyA5My44NjY2NjdjLTQuMjY2NjY3LTEyLjggMC0yOS44NjY2NjcgMTIuOC0zOC40IDguNTMzMzMzLTEyLjggMjUuNi0xNy4wNjY2NjcgMzguNC0xMi44bDYxOC42NjY2NjYgMTQ5LjMzMzMzM2MxNy4wNjY2NjcgNC4yNjY2NjcgMjkuODY2NjY3IDE3LjA2NjY2NyAyOS44NjY2NjcgMzQuMTMzMzMzbDY0IDMyMGM0LjI2NjY2NyAxMi44IDAgMjkuODY2NjY3LTEyLjggMzguNGwtMjEzLjMzMzMzMyAyMTMuMzMzMzM0Yy00LjI2NjY2NyA4LjUzMzMzMy0xMi44IDEyLjgtMjUuNiAxMi44eiBtLTI4NS44NjY2NjctMTQ1LjA2NjY2N2wyNjguOCA1NS40NjY2NjcgMTc5LjItMTc5LjItNTUuNDY2NjY3LTI2OC44LTUyNC44LTEyOCAxMzIuMjY2NjY3IDUyMC41MzMzMzN6IiAgPjwvcGF0aD48cGF0aCBkPSJNNDA5LjYgNDUyLjI2NjY2N2MtMTIuOCAwLTIxLjMzMzMzMy00LjI2NjY2Ny0yOS44NjY2NjctMTIuOEw1NS40NjY2NjcgMTE1LjJjLTE3LjA2NjY2Ny0xNy4wNjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2NyAwLTU5LjczMzMzM3M0Mi42NjY2NjctMTcuMDY2NjY3IDU5LjczMzMzMyAwbDMyNC4yNjY2NjcgMzI0LjI2NjY2NmMxNy4wNjY2NjcgMTcuMDY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgMCA1OS43MzMzMzQtOC41MzMzMzMgOC41MzMzMzMtMjEuMzMzMzMzIDEyLjgtMjkuODY2NjY3IDEyLjh6IiAgPjwvcGF0aD48cGF0aCBkPSJNNDY5LjMzMzMzMyA1OTcuMzMzMzMzYy03Mi41MzMzMzMgMC0xMjgtNTUuNDY2NjY3LTEyOC0xMjhzNTUuNDY2NjY3LTEyOCAxMjgtMTI4IDEyOCA1NS40NjY2NjcgMTI4IDEyOC01NS40NjY2NjcgMTI4LTEyOCAxMjh6IG0wLTE3MC42NjY2NjZjLTI1LjYgMC00Mi42NjY2NjcgMTcuMDY2NjY3LTQyLjY2NjY2NiA0Mi42NjY2NjZzMTcuMDY2NjY3IDQyLjY2NjY2NyA0Mi42NjY2NjYgNDIuNjY2NjY3IDQyLjY2NjY2Ny0xNy4wNjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2Ny0xNy4wNjY2NjctNDIuNjY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjZ6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJ0YWciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik01MTIgOTQ3LjJjLTM0LjEzMzMzMyAwLTY0LTEyLjgtODkuNi0zOC40bC0zNjYuOTMzMzMzLTM2Ni45MzMzMzNjLTguNTMzMzMzLTguNTMzMzMzLTEyLjgtMTcuMDY2NjY3LTEyLjgtMjkuODY2NjY3Vjg1LjMzMzMzM2MwLTI1LjYgMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjYtNDIuNjY2NjY2aDQyNi42NjY2NjdjMTIuOCAwIDIxLjMzMzMzMyA0LjI2NjY2NyAyOS44NjY2NjcgMTIuOGwzNjYuOTMzMzMzIDM2Ni45MzMzMzNjNTEuMiA1MS4yIDUxLjIgMTMyLjI2NjY2NyAwIDE3OS4ybC0zMDcuMiAzMDcuMmMtMjUuNiAyNS42LTU1LjQ2NjY2NyAzOC40LTg5LjYgMzguNHpNMTI4IDQ5NC45MzMzMzNsMzU0LjEzMzMzMyAzNTQuMTMzMzM0YzE3LjA2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDE3LjA2NjY2NyA1OS43MzMzMzQgMGwzMDcuMi0zMDcuMmMxNy4wNjY2NjctMTcuMDY2NjY3IDE3LjA2NjY2Ny00Mi42NjY2NjcgMC01OS43MzMzMzRMNDk0LjkzMzMzMyAxMjhIMTI4djM2Ni45MzMzMzN6IG03NTAuOTMzMzMzIDc2Ljh6IiAgPjwvcGF0aD48cGF0aCBkPSJNMjk4LjY2NjY2NyAzNDEuMzMzMzMzYy0xMi44IDAtMjEuMzMzMzMzLTQuMjY2NjY3LTI5Ljg2NjY2Ny0xMi44LTQuMjY2NjY3LTQuMjY2NjY3LTguNTMzMzMzLTguNTMzMzMzLTguNTMzMzMzLTEyLjhDMjU2IDMxMS40NjY2NjcgMjU2IDMwMi45MzMzMzMgMjU2IDI5OC42NjY2NjdjMC00LjI2NjY2NyAwLTEyLjggNC4yNjY2NjctMTcuMDY2NjY3IDQuMjY2NjY3LTQuMjY2NjY3IDQuMjY2NjY3LTguNTMzMzMzIDguNTMzMzMzLTEyLjggNC4yNjY2NjctNC4yNjY2NjcgOC41MzMzMzMtOC41MzMzMzMgMTIuOC04LjUzMzMzMyAxMi44LTQuMjY2NjY3IDIxLjMzMzMzMy00LjI2NjY2NyAzNC4xMzMzMzMgMCA0LjI2NjY2NyA0LjI2NjY2NyA4LjUzMzMzMyA0LjI2NjY2NyAxMi44IDguNTMzMzMzIDguNTMzMzMzIDguNTMzMzMzIDEyLjggMTcuMDY2NjY3IDEyLjggMjkuODY2NjY3IDAgMTIuOC00LjI2NjY2NyAyMS4zMzMzMzMtMTIuOCAyOS44NjY2NjYtOC41MzMzMzMgOC41MzMzMzMtMTcuMDY2NjY3IDEyLjgtMjkuODY2NjY2IDEyLjh6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJ0aHVtYnMtdXAiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik03ODAuOCA5ODEuMzMzMzMzSDE3MC42NjY2NjdjLTcyLjUzMzMzMyAwLTEyOC01NS40NjY2NjctMTI4LTEyOHYtMjk4LjY2NjY2NmMwLTcyLjUzMzMzMyA1NS40NjY2NjctMTI4IDEyOC0xMjhoMTAyLjRsMTU3Ljg2NjY2Ni0zNTguNGM0LjI2NjY2Ny0xNy4wNjY2NjcgMjEuMzMzMzMzLTI1LjYgMzguNC0yNS42IDkzLjg2NjY2NyAwIDE3MC42NjY2NjcgNzYuOCAxNzAuNjY2NjY3IDE3MC42NjY2NjZ2MTI4aDIyMS44NjY2NjdjMzQuMTMzMzMzIDQuMjY2NjY3IDY0IDIxLjMzMzMzMyA4NS4zMzMzMzMgNTEuMiAyMS4zMzMzMzMgMjUuNiAyOS44NjY2NjcgNTkuNzMzMzMzIDIxLjMzMzMzMyA5My44NjY2NjdsLTU5LjczMzMzMyAzODRjLTEyLjggNjQtNjQgMTEwLjkzMzMzMy0xMjggMTEwLjkzMzMzM3pNMzQxLjMzMzMzMyA4OTZoNDM5LjQ2NjY2N2MyMS4zMzMzMzMgMCAzOC40LTE3LjA2NjY2NyA0Mi42NjY2NjctMzQuMTMzMzMzbDU5LjczMzMzMy0zODRjMC0xMi44IDAtMjEuMzMzMzMzLTguNTMzMzMzLTI5Ljg2NjY2Ny04LjUzMzMzMy04LjUzMzMzMy0xNy4wNjY2NjctMTcuMDY2NjY3LTI5Ljg2NjY2Ny0xNy4wNjY2NjdINTk3LjMzMzMzM2MtMjUuNiAwLTQyLjY2NjY2Ny0xNy4wNjY2NjctNDIuNjY2NjY2LTQyLjY2NjY2NlYyMTMuMzMzMzMzYzAtMzguNC0yNS42LTY4LjI2NjY2Ny01OS43MzMzMzQtODEuMDY2NjY2TDM0MS4zMzMzMzMgNDc3Ljg2NjY2N1Y4OTZ6IG0tMTcwLjY2NjY2Ni0zODRjLTI1LjYgMC00Mi42NjY2NjcgMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2Njd2Mjk4LjY2NjY2NmMwIDI1LjYgMTcuMDY2NjY3IDQyLjY2NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY3aDg1LjMzMzMzM3YtMzg0SDE3MC42NjY2Njd6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJqaW5iaSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTEzLjgzNzgzOCA1MTJhNDk4LjE2MjE2MiA0OTguMTYyMTYyIDAgMCAxIDQ5OC4xNjIxNjItNDk4LjE2MjE2MiA0OTguMTYyMTYyIDQ5OC4xNjIxNjIgMCAwIDEgNDk4LjE2MjE2MiA0OTguMTYyMTYyIDQ5OC4xNjIxNjIgNDk4LjE2MjE2MiAwIDAgMS00OTguMTYyMTYyIDQ5OC4xNjIxNjIgNDk4LjE2MjE2MiA0OTguMTYyMTYyIDAgMCAxLTQ5OC4xNjIxNjItNDk4LjE2MjE2MnogbTgzLjAyNzAyNyAwYTQxNS42MzMyOTcgNDE1LjYzMzI5NyAwIDAgMCA0MTUuMTM1MTM1IDQxNS4xMzUxMzUgNDE1LjYwNTYyMiA0MTUuNjA1NjIyIDAgMCAwIDQxNS4xMzUxMzUtNDE1LjEzNTEzNSA0MTUuNjA1NjIyIDQxNS42MDU2MjIgMCAwIDAtNDE1LjEzNTEzNS00MTUuMTM1MTM1IDQxNS42MzMyOTcgNDE1LjYzMzI5NyAwIDAgMC00MTUuMTM1MTM1IDQxNS4xMzUxMzV6IG0zODEuOTI0MzI0IDI5MS4yMzExMzV2LTYyLjQwODY0OWExNzQuMDggMTc0LjA4IDAgMCAxLTkzLjUxNjEwOC0zNi4yNTUxMzUgMTI5LjEzNDcwMyAxMjkuMTM0NzAzIDAgMCAxLTQ4LjUxNTQ1OS04Ny43NTk1NjdsOTguOTk1ODkyLTI0LjE4ODU0MWE3OS4yOTA4MTEgNzkuMjkwODExIDAgMCAwIDgzLjY5MTI0MyA2OS43MTUwMjdjMjkuODA2NzAzIDAgNjUuNTA4MzI0LTE0LjU4NTA4MSA2NS4xMjA4NjUtNTMuNDQxNzI5LTAuMjc2NzU3LTMxLjc3MTY3Ni0zMy44NzUwMjctNTQuNTQ4NzU3LTcwLjE4NTUxNC02Mi43MTMwODItMzcuNjM4OTE5LTguNDQxMDgxLTExMy42NjQtMzQuMzE3ODM4LTEzNC42NDIxNjItNTcuMzk5MzUxYTEzMy4yMDMwMjcgMTMzLjIwMzAyNyAwIDAgMS0yNy4wMTE0Ni05My41NDM3ODQgMTE0LjE2MjE2MiAxMTQuMTYyMTYyIDAgMCAxIDM4LjEzNzA4Mi04NS40OTAxNjIgMTU4LjgwMzAyNyAxNTguODAzMDI3IDAgMCAxIDg3Ljk1MzI5Ny0zNi41MzE4OTJWMjIwLjgyNDIxNmg2NS44MTI3NTd2NTIuMTk2MzI1YTE1OS4zNTY1NDEgMTU5LjM1NjU0MSAwIDAgMSA4OC41NjIxNjIgMzQuNzA1Mjk3IDExMy43NzQ3MDMgMTEzLjc3NDcwMyAwIDAgMSA0Mi44MTQyNyA3NC40NzUyNDNsLTk4Ljg1NzUxMyAyMy4yMTk4OTJhNzEuMjA5NTE0IDcxLjIwOTUxNCAwIDAgMC02MS40Njc2NzYtNTQuNDkzNDA1Yy0zMi4yOTc1MTQgMC01Ny44Njk4MzggOS4wNzc2MjItNTcuODY5ODM4IDQ5LjQ4NDEwOCAwIDI5LjA1OTQ1OSAyMi4xNDA1NDEgMzguNTUyMjE2IDYwLjMzMjk3MyA1MC44MTI1NGEzNTMuMzM1MzUxIDM1My4zMzUzNTEgMCAwIDEgMTM1LjYxMDgxMSA3MC4xODU1MTQgMTIwLjk5ODA1NCAxMjAuOTk4MDU0IDAgMCAxIDMzLjQ1OTg5MiA4Ny40ODI4MTEgMTEwLjUzNjY0OSAxMTAuNTM2NjQ5IDAgMCAxLTQ3LjA0ODY0OSA5Ni4wMDY5MTggMTgzLjkwNDg2NSAxODMuOTA0ODY1IDAgMCAxLTk1LjQ4MTA4MSAzNi45NDcwMjd2NjEuNDEyMzI1eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iYm9va21hcmsiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04MTAuNjY2NjY3IDkzOC42NjY2NjdjLTguNTMzMzMzIDAtMTcuMDY2NjY3LTQuMjY2NjY3LTI1LjYtOC41MzMzMzRMNTEyIDczMy44NjY2NjdsLTI3My4wNjY2NjcgMTk2LjI2NjY2NmMtMTIuOCA4LjUzMzMzMy0yOS44NjY2NjcgOC41MzMzMzMtNDIuNjY2NjY2IDQuMjY2NjY3UzE3MC42NjY2NjcgOTEzLjA2NjY2NyAxNzAuNjY2NjY3IDg5NlYyMTMuMzMzMzMzYzAtNzIuNTMzMzMzIDU1LjQ2NjY2Ny0xMjggMTI4LTEyOGg0MjYuNjY2NjY2YzcyLjUzMzMzMyAwIDEyOCA1NS40NjY2NjcgMTI4IDEyOHY2ODIuNjY2NjY3YzAgMTcuMDY2NjY3LTguNTMzMzMzIDI5Ljg2NjY2Ny0yMS4zMzMzMzMgMzguNC04LjUzMzMzMyA0LjI2NjY2Ny0xMi44IDQuMjY2NjY3LTIxLjMzMzMzMyA0LjI2NjY2N3ogbS0yOTguNjY2NjY3LTI5OC42NjY2NjdjOC41MzMzMzMgMCAxNy4wNjY2NjcgNC4yNjY2NjcgMjUuNiA4LjUzMzMzM2wyMzAuNCAxNjYuNFYyMTMuMzMzMzMzYzAtMjUuNi0xNy4wNjY2NjctNDIuNjY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjZIMjk4LjY2NjY2N2MtMjUuNiAwLTQyLjY2NjY2NyAxNy4wNjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2NnY2MDEuNmwyMzAuNC0xNjYuNGM4LjUzMzMzMy00LjI2NjY2NyAxNy4wNjY2NjctOC41MzMzMzMgMjUuNi04LjUzMzMzM3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9ImNsb2NrIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTEyIDk4MS4zMzMzMzNDMjUxLjczMzMzMyA5ODEuMzMzMzMzIDQyLjY2NjY2NyA3NzIuMjY2NjY3IDQyLjY2NjY2NyA1MTJTMjUxLjczMzMzMyA0Mi42NjY2NjcgNTEyIDQyLjY2NjY2N3M0NjkuMzMzMzMzIDIwOS4wNjY2NjcgNDY5LjMzMzMzMyA0NjkuMzMzMzMzLTIwOS4wNjY2NjcgNDY5LjMzMzMzMy00NjkuMzMzMzMzIDQ2OS4zMzMzMzN6IG0wLTg1My4zMzMzMzNjLTIxMy4zMzMzMzMgMC0zODQgMTcwLjY2NjY2Ny0zODQgMzg0czE3MC42NjY2NjcgMzg0IDM4NCAzODQgMzg0LTE3MC42NjY2NjcgMzg0LTM4NC0xNzAuNjY2NjY3LTM4NC0zODQtMzg0eiIgID48L3BhdGg+PHBhdGggZD0iTTY4Mi42NjY2NjcgNjQwYy04LjUzMzMzMyAwLTEyLjggMC0xNy4wNjY2NjctNC4yNjY2NjdsLTE3MC42NjY2NjctODUuMzMzMzMzYy0xNy4wNjY2NjctOC41MzMzMzMtMjUuNi0yMS4zMzMzMzMtMjUuNi0zOC40VjI1NmMwLTI1LjYgMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3czQyLjY2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDQyLjY2NjY2N3YyMzAuNGwxNDUuMDY2NjY2IDcyLjUzMzMzM2MyMS4zMzMzMzMgOC41MzMzMzMgMjkuODY2NjY3IDM0LjEzMzMzMyAxNy4wNjY2NjcgNTUuNDY2NjY3LTQuMjY2NjY3IDE3LjA2NjY2Ny0xNy4wNjY2NjcgMjUuNi0zNC4xMzMzMzMgMjUuNnoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9ImFycm93LXVwIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTEyIDg1My4zMzMzMzNjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjZWMjEzLjMzMzMzM2MwLTI1LjYgMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY2czQyLjY2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDQyLjY2NjY2NnY1OTcuMzMzMzM0YzAgMjUuNi0xNy4wNjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjZ6IiAgPjwvcGF0aD48cGF0aCBkPSJNODEwLjY2NjY2NyA1NTQuNjY2NjY3Yy0xMi44IDAtMjEuMzMzMzMzLTQuMjY2NjY3LTI5Ljg2NjY2Ny0xMi44TDUxMiAyNzMuMDY2NjY3bC0yNjguOCAyNjguOGMtMTcuMDY2NjY3IDE3LjA2NjY2Ny00Mi42NjY2NjcgMTcuMDY2NjY3LTU5LjczMzMzMyAwcy0xNy4wNjY2NjctNDIuNjY2NjY3IDAtNTkuNzMzMzM0bDI5OC42NjY2NjYtMjk4LjY2NjY2NmMxNy4wNjY2NjctMTcuMDY2NjY3IDQyLjY2NjY2Ny0xNy4wNjY2NjcgNTkuNzMzMzM0IDBsMjk4LjY2NjY2NiAyOTguNjY2NjY2YzE3LjA2NjY2NyAxNy4wNjY2NjcgMTcuMDY2NjY3IDQyLjY2NjY2NyAwIDU5LjczMzMzNC04LjUzMzMzMyA4LjUzMzMzMy0xNy4wNjY2NjcgMTIuOC0yOS44NjY2NjYgMTIuOHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9ImNoZXZyb24tcmlnaHQiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0zODQgODEwLjY2NjY2N2MtMTIuOCAwLTIxLjMzMzMzMy00LjI2NjY2Ny0yOS44NjY2NjctMTIuOC0xNy4wNjY2NjctMTcuMDY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjcgMC01OS43MzMzMzRsMjI2LjEzMzMzNC0yMjYuMTMzMzMzLTIyNi4xMzMzMzQtMjI2LjEzMzMzM2MtMTcuMDY2NjY3LTE3LjA2NjY2Ny0xNy4wNjY2NjctNDIuNjY2NjY3IDAtNTkuNzMzMzM0czQyLjY2NjY2Ny0xNy4wNjY2NjcgNTkuNzMzMzM0IDBsMjU2IDI1NmMxNy4wNjY2NjcgMTcuMDY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgMCA1OS43MzMzMzRsLTI1NiAyNTZjLTguNTMzMzMzIDguNTMzMzMzLTE3LjA2NjY2NyAxMi44LTI5Ljg2NjY2NyAxMi44eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0icGFwZXJjbGlwIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMzQxLjMzMzMzMyA5ODEuMzMzMzMzYy03Ni44IDAtMTUzLjYtMjkuODY2NjY3LTIxMy4zMzMzMzMtODUuMzMzMzMzLTExNS4yLTExNS4yLTExNS4yLTMwNy4yIDAtNDIyLjRsMzkyLjUzMzMzMy0zOTIuNTMzMzMzQzU1OC45MzMzMzMgNDIuNjY2NjY3IDYxNC40IDE3LjA2NjY2NyA2NjkuODY2NjY3IDE3LjA2NjY2N2M1NS40NjY2NjcgMCAxMTAuOTMzMzMzIDIxLjMzMzMzMyAxNDkuMzMzMzMzIDY0IDg1LjMzMzMzMyA4NS4zMzMzMzMgODUuMzMzMzMzIDIxNy42IDAgMzAyLjkzMzMzM0w0MjYuNjY2NjY3IDc3Ni41MzMzMzNjLTUxLjIgNTEuMi0xMzIuMjY2NjY3IDUxLjItMTc5LjIgMC0yMS4zMzMzMzMtMjUuNi0zNC4xMzMzMzMtNTkuNzMzMzMzLTM0LjEzMzMzNC05My44NjY2NjZzMTIuOC02OC4yNjY2NjcgMzguNC04OS42bDM2Mi42NjY2NjctMzYyLjY2NjY2N2MxNy4wNjY2NjctMTcuMDY2NjY3IDQyLjY2NjY2Ny0xNy4wNjY2NjcgNTkuNzMzMzMzIDAgMTcuMDY2NjY3IDE3LjA2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDAgNTkuNzMzMzMzbC0zNjIuNjY2NjY2IDM2Mi42NjY2NjdjLTguNTMzMzMzIDguNTMzMzMzLTEyLjggMTcuMDY2NjY3LTEyLjggMjkuODY2NjY3czQuMjY2NjY3IDIxLjMzMzMzMyAxMi44IDI5Ljg2NjY2NmMxNy4wNjY2NjcgMTcuMDY2NjY3IDQyLjY2NjY2NyAxNy4wNjY2NjcgNTkuNzMzMzMzIDBsMzkyLjUzMzMzMy0zOTIuNTMzMzMzYzUxLjItNTEuMiA1MS4yLTEzMi4yNjY2NjcgMC0xNzkuMi00Ni45MzMzMzMtNDYuOTMzMzMzLTEzMi4yNjY2NjctNDYuOTMzMzMzLTE3OS4yIDBsLTM5Mi41MzMzMzMgMzkyLjUzMzMzM2MtODUuMzMzMzMzIDg1LjMzMzMzMy04NS4zMzMzMzMgMjE3LjYgMCAzMDIuOTMzMzM0czIxNy42IDg1LjMzMzMzMyAzMDIuOTMzMzMzIDBsMzkyLjUzMzMzNC0zOTIuNTMzMzM0YzE3LjA2NjY2Ny0xNy4wNjY2NjcgNDIuNjY2NjY3LTE3LjA2NjY2NyA1OS43MzMzMzMgMHMxNy4wNjY2NjcgNDIuNjY2NjY3IDAgNTkuNzMzMzM0TDU1NC42NjY2NjcgODkxLjczMzMzM0M0OTQuOTMzMzMzIDk1MS40NjY2NjcgNDE4LjEzMzMzMyA5ODEuMzMzMzMzIDM0MS4zMzMzMzMgOTgxLjMzMzMzM3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9ImJvZmFuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTI5MC4wODc4MjIyMiA5NDcuNTEwOTkyMjFjLTQyLjcxOTc2MzM0IDAtODEuNTU1OTExMTEtMjcuMTg1MzAzMzMtOTcuMDkwMzctNjYuMDIxNDUxMDktMTkuNDE4MDc0NDUtNTQuMzcwNjA3NzktMzQuOTUyNTMzMzMtMTEyLjYyNDgzMDAxLTQ2LjYwMzM3Nzc3LTE3NC43NjI2NjY2N3YtMTEuNjUwODQ0NDNjLTMuODgzNjE0NDMtMjcuMTg1MzAzMzMtNy43NjcyMzAwMS01NC4zNzA2MDc3OS0xMS42NTA4NDQ0NC04NS40Mzk1MjY2OXYtMTEuNjUwODQ0NDVjLTMuODgzNjE0NDMtMzEuMDY4OTE4OS0zLjg4MzYxNDQzLTYyLjEzNzgzNjY2LTMuODgzNjE1NTgtODkuMzIzMTM5OTggMC0yNy4xODUzMDMzMyAwLTU0LjM3MDYwNzc5IDMuODgzNjE1NTgtODkuMzIzMTQxMTJ2LTExLjY1MDg0NDQ1YzMuODgzNjE0NDMtMjcuMTg1MzAzMzMgNy43NjcyMzAwMS01OC4yNTQyMjIyMiAxMS42NTA4NDQ0NC04NS40Mzk1MjU1NHYtMTEuNjUwODQ0NDRjMTEuNjUwODQ0NDUtNTguMjU0MjIyMjIgMjcuMTg1MzAzMzMtMTE2LjUwODQ0NDQ1IDQ2LjYwMzM3Nzc3LTE3MC44NzkwNTIyNCAxNS41MzQ0NTg4OC00Ni42MDMzNzc3OCA2Ni4wMjE0NTIyMy03Ny42NzIyOTY2NyAxMjAuMzkyMDU4ODgtNjYuMDIxNDUyMjNoMy44ODM2MTQ0NWMxMS42NTA4NDQ0NSAwIDE5LjQxODA3NDQ1IDMuODgzNjE0NDMgMzEuMDY4OTE4ODkgNy43NjcyMzAwMiA3Ljc2NzIzMDAxIDAgMTEuNjUwODQ0NDUgMy44ODM2MTQ0MyAxNS41MzQ0NTg4OCAzLjg4MzYxNDQzaDMuODgzNjE1NTdjMTEuNjUwODQ0NDUgMy44ODM2MTQ0MyAxOS40MTgwNzQ0NSAzLjg4MzYxNDQzIDMxLjA2ODkxNzc2IDcuNzY3MjMgNy43NjcyMzAwMSAwIDE1LjUzNDQ1ODg4IDMuODgzNjE0NDMgMTkuNDE4MDc0NDUgNy43NjcyMzAwMiAxMS42NTA4NDQ0NSAzLjg4MzYxNDQzIDE5LjQxODA3NDQ1IDcuNzY3MjMwMDEgMzEuMDY4OTE4OTEgNy43NjcyMjg4NiA3Ljc2NzIzMDAxIDMuODgzNjE0NDMgMTUuNTM0NDU4ODggMy44ODM2MTQ0MyAyMy4zMDE2ODg4OCA3Ljc2NzIzMDAyIDExLjY1MDg0NDQ1IDMuODgzNjE0NDMgMTkuNDE4MDc0NDUgNy43NjcyMzAwMSAzMS4wNjg5MTc3NiAxMS42NTA4NDQ0NCA3Ljc2NzIzMDAxIDMuODgzNjE0NDMgMTUuNTM0NDU4ODggMy44ODM2MTQ0MyAxOS40MTgwNzQ0NSA3Ljc2NzIzMDAxIDExLjY1MDg0NDQ1IDAgMjMuMzAxNjg4ODkgMy44ODM2MTQ0MyAzNC45NTI1MzMzNCAxMS42NTA4NDQ0NGwzLjg4MzYxNDQ0IDMuODgzNjE0NDRjMy44ODM2MTQ0MyAzLjg4MzYxNDQzIDExLjY1MDg0NDQ1IDMuODgzNjE0NDMgMTUuNTM0NDYwMDEgNy43NjcyMzAwMSAxMS42NTA4NDQ0NSAzLjg4MzYxNDQzIDIzLjMwMTY4ODg5IDExLjY1MDg0NDQ1IDM0Ljk1MjUzMzMzIDE1LjUzNDQ1ODg4bDMuODgzNjE0NDUgMy44ODM2MTQ0M2MzLjg4MzYxNDQzIDAgNy43NjcyMzAwMSAzLjg4MzYxNDQzIDExLjY1MDg0NDQzIDMuODgzNjE1NTcgMTUuNTM0NDU4ODggNy43NjcyMzAwMSAzMS4wNjg5MTg5IDE1LjUzNDQ1ODg4IDUwLjQ4Njk5MjIyIDI3LjE4NTMwMzMzIDIzLjMwMTY4ODg5IDExLjY1MDg0NDQ1IDUwLjQ4Njk5MjIxIDI3LjE4NTMwMzMzIDc3LjY3MjI5NjY4IDQ2LjYwMzM3Nzc4aDcuNzY3MjMwMDFjMjMuMzAxNjg4ODkgMTUuNTM0NDU4ODggNDYuNjAzMzc3NzggMzQuOTUyNTMzMzMgNjkuOTA1MDY2NjYgNTAuNDg2OTkyMjJsNy43NjcyMjg4OCA3Ljc2NzIzYzQ2LjYwMzM3Nzc4IDM4LjgzNjE0Nzc3IDkzLjIwNjc1NTU1IDgxLjU1NTkxMTExIDEzMi4wNDI5MDQ0NiAxMjguMTU5Mjg4ODkgMzQuOTUyNTMzMzMgMzguODM2MTQ3NzcgMzQuOTUyNTMzMzMgOTMuMjA2NzU1NTUgMCAxMzIuMDQyOTAzMzItODUuNDM5NTI1NTUgOTcuMDkwMzY5OTktMTg2LjQxMzUxMTExIDE3OC42NDYyODExLTI5OS4wMzgzNDExMiAyNDAuNzg0MTE4OTEtMTEyLjYyNDgzMDAxIDYyLjEzNzgzNjY2LTIzNi45MDA1MDMzMyAxMDguNzQxMjE0NDMtMzY1LjA1OTc5MjIyIDEyOC4xNTkyODg4OC0zLjg4MzYxNDQzIDAtMTEuNjUwODQ0NDUgMy44ODM2MTQ0My0xOS40MTgwNzQ0NSAzLjg4MzYxNDQzeiIgZmlsbD0iIzUxNTE1MSIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJuZXh0IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNODguNzAwMDAwMDAwMDAwMjcgODQ2LjYwMDAwMDAwMDAwMDFjOC42MDAwMDAwMDAwMDAwMjMgNTYuMyA2My44MDAwMDAwMDAwMDAwMjYgOTEuNDk5OTk5OTk5OTk5OTcgMTE2LjMwMDAwMDAwMDAwMDAzIDczLjU5OTk5OTk5OTk5OTk3QzQxMyA4NDkgNTk5LjQwMDAwMDAwMDAwMDEgNzQ3LjU5OTk5OTk5OTk5OTkgNzY0LjUgNjE2YzIuNDAwMDAwMDAwMDAwMDIgNzcuNCA3LjYwMDAwMDAwMDAwMDA1MSAxNTQuOCAxNS41MDAwMDAwMDAwMDAwNzEgMjMyLjIgMS40MjEwODU0NzE1MjAyMDA0ZS0xNCA0Ni43IDM2LjcwMDAwMDAwMDAwMDAzIDg0LjQ5OTk5OTk5OTk5OTk3IDgxLjkwMDAwMDAwMDAwMDAzIDg0LjQ5OTk5OTk5OTk5OTk2czgxLjktMzcuOTAwMDAwMDAwMDAwMDM0IDgxLjg5OTk5OTk5OTk5OTk2LTg0LjUwMDAwMDAwMDAwMDAzYzIwLjQ5OTk5OTk5OTk5OTkzLTIyNSAyMC40OTk5OTk5OTk5OTk4NTgtNDUwLjEtMS43MDUzMDI1NjU4MjQyNDA0ZS0xMy02NzUuMDk5OTk5OTk5OTk5OS0xLjQyMTA4NTQ3MTUyMDIwMDRlLTE0LTQ2LjctMzYuNzAwMDAwMDAwMDAwMDMtODQuNDk5OTk5OTk5OTk5OTctODEuOTAwMDAwMDAwMDAwMDMtODQuNDk5OTk5OTk5OTk5OTZzLTgxLjkgMzcuOTAwMDAwMDAwMDAwMDM0LTgxLjg5OTk5OTk5OTk5OTk2IDg0LjUwMDAwMDAwMDAwMDAzYy03Ljc5OTk5OTk5OTk5OTk4MyA3Ni41LTEyLjg5OTk5OTk5OTk5OTk0OSAxNTMuMDk5OTk5OTk5OTk5OTctMTUuMzk5OTk5OTk5OTk5OTM1IDIyOS42LTE2MS4yMDAwMDAwMDAwMDAwNy0xMzEuOTk5OTk5OTk5OTk5OTQtMzQ4LTIzMi42OTk5OTk5OTk5OTk4Mi01NjAuNDAwMDAwMDAwMDAwMS0zMDEuODk5OTk5OTk5OTk5ODYtNTIuMy0xNi45OTk5OTk5OTk5OTk5NzUtMTA2LjY5OTk5OTk5OTk5OTk5IDE4LjEwMDAwMDAwMDAwMDAzLTExNS4zIDczLjkwMDAwMDAwMDAwMDA2LTM0LjE5OTk5OTk5OTk5OTkyIDIyMy45OTk5OTk5OTk5OTk5Ny0zNC4yOTk5OTk5OTk5OTk4NCA0NDcuOS0wLjE5OTk5OTk5OTk5OTcwNDQxIDY3MS45eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0icHJldiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTkzNS4zIDE3Ny40Yy04LjYtNTYuMy02My44LTkxLjUtMTE2LjMtNzMuNkM2MTEgMTc1IDQyNC42IDI3Ni40IDI1OS41IDQwOGMtMi40LTc3LjQtNy42LTE1NC44LTE1LjUtMjMyLjIgMC00Ni43LTM2LjctODQuNS04MS45LTg0LjVzLTgxLjkgMzcuOS04MS45IDg0LjVjLTIwLjUgMjI1LTIwLjUgNDUwLjEgMCA2NzUuMSAwIDQ2LjcgMzYuNyA4NC41IDgxLjkgODQuNXM4MS45LTM3LjkgODEuOS04NC41YzcuOC03Ni41IDEyLjktMTUzLjEgMTUuNC0yMjkuNiAxNjEuMiAxMzIgMzQ4IDIzMi43IDU2MC40IDMwMS45IDUyLjMgMTcgMTA2LjctMTguMSAxMTUuMy03My45IDM0LjItMjI0IDM0LjMtNDQ3LjkgMC4yLTY3MS45eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0icGF1c2UiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0yNDUgODUuOGMtNzUuMSAwLTE0MS40IDY3LjUtMTU4IDE2My44LTMwLjEgMTczLjctMzAuMSAzNDcuMyAwIDUyMSAxNi43IDk2LjMgODMgMTYzLjggMTU4IDE2My44IDc2LjUgMCAxNDMuNy03MCAxNTguOC0xNjguNiAyNi4xLTE3MC41IDI2LjEtMzQxIDAtNTExLjVDMzg4LjcgMTU1LjggMzIxLjUgODUuOCAyNDUgODUuOHogbTY5NS44IDE2OC42QzkyNS43IDE1NS44IDg1OC41IDg1LjggNzgyIDg1LjhjLTc1LjEgMC0xNDEuNCA2Ny41LTE1OCAxNjMuOC0zMC4xIDE3My43LTMwLjEgMzQ3LjMgMCA1MjEgMTYuNyA5Ni4zIDgzIDE2My44IDE1OCAxNjMuOCA3Ni41IDAgMTQzLjctNzAgMTU4LjgtMTY4LjYgMjYuMS0xNzAuNCAyNi4xLTM0MC45IDAtNTExLjR6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJodWFiYW4iIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0zOTguNjQzMiA1ODUuNTAyNzJjMC4zNjg2NCA0MS4xMzQwOC0zMi43NTc3NiA3NC43NzI0OC03My45NDgxNiA3NS4wMjMzNi00MS4xNjk5MiAwLjMyNzY4LTc0LjY4MDMyLTMyLjc2Mjg4LTc0LjkwMDQ4LTczLjg5Njk2LTAuMzYzNTItNDEuMTQ5NDQgMzIuNzQ3NTItNzQuNjY0OTYgNzMuODA5OTItNzUuMDQzODQgNDEuMTg1MjgtMC4yNzEzNiA3NC44MjM2OCAzMi44NjAxNiA3NS4wMzg3MiA3My45MTc0NHogbS0zNi40MTM0NC0xNDguNDU0NGMtNDEuMTM5MiAwLjI5MTg0LTc0Ljc5Mjk2LTMyLjc4ODQ4LTc1LjA1NDA4LTc0LjAwOTYtMC4zMjI1Ni00MS4wNjI0IDMyLjY4MDk2LTc0LjYxMzc2IDczLjg4NjcyLTc0Ljg4IDQxLjA0NzA0LTAuMzc4ODggNzQuNzkyOTYgMzIuNjYwNDggNzQuOTM2MzIgNzMuODI1MjggMC40MzUyIDQxLjIxMDg4LTMyLjc2OCA3NC42ODU0NC03My43Njg5NiA3NS4wNjQzMnogbTI5Ny4yMTYtMTQ5LjQ4ODY0YzAuMTQzMzYgNDEuMDYyNC0zMi44MDM4NCA3NC43OTI5Ni03My45Mzc5MiA3NS4wNjQzMi00MS4xNjQ4IDAuMzQzMDQtNzQuNzcyNDgtMzIuNzYyODgtNzUuMDIzMzYtNzMuODgxNi0wLjM5OTM2LTQxLjE4NTI4IDMyLjY5MTItNzQuNzAwOCA3My45Mzc5Mi03NS4wMjg0OCA0MC45ODA0OC0wLjIzNTUyIDc0LjY1OTg0IDMyLjgwMzg0IDc1LjAyMzM2IDczLjg0NTc2ek0yMTIuNTQ2NTYgODc3LjcyNjcyYzE3MC44MjM2OCAxNC4xNDE0NCAxMDkuNjU1MDQtMTY3LjI5NiAyNjcuNzA0MzItMTY4Ljk3MDI0bDY4LjQ1NDQgNTcuMDkzMTJjMTcuMDQ5NiAyMDYuMjEzMTItMjM1LjE5MjMyIDI1Mi4yNTIxNi0zMzYuMTU4NzIgMTExLjg3NzEyeiBtNTIzLjgxMTg0LTI2NC45ODA0OGM1My4xMzUzNi04My4zNzQwOCAyMTcuNzMzMTItMzYzLjAwOCAyMTcuNzMzMTItMzYzLjAwOCAxMy4wOTY5Ni0yMy4xODMzNi0xNi00Ny40MDYwOC0zNi4zMzE1Mi0zMC4yOTUwNCAwIDAtMjQ0Ljc2MTYgMjEyLjc5MjMyLTMxNi45NDg0OCAyODAuMjM4MDgtNTcuMDYyNCA1My4zMzUwNC01Ny4yOTI4IDc3LjY5Ni03NS43NzYgMTY1LjYxMTUybDYyLjUzMDU2IDUyLjEyMTZjODIuOTI4NjQtMzQuMDQ4IDEwNi43OTI5Ni0zOC42OTE4NCAxNDguNzkyMzItMTA0LjY2ODE2eiBtLTQ3MC4wNTY5NiAxNzkuMDA1NDRjLTc3LjYwMzg0LTY3Ljc4ODgtMTI3LjM2LTE2Ni44NjU5Mi0xMjguMjE1MDQtMjc3LjM1MDQtMS42Mzg0LTIwNS4xODQgMTY0LjA5Ni0zNzMuNTE0MjQgMzY5LjQzODcyLTM3NS4xODg0OCAxNDIuOTM1MDQtMC43NjI4OCAyNDEuMzA1NiA3MC45Mzc2IDI0MS45MjUxMiAxMjguMzU4NCAyMi41ODk0NC0xOS44MDQxNiA0My43MTQ1Ni0zOC4yNzcxMiA2MS45MzY2NC01NC4yMDU0NC0zNy42MDY0LTgyLjc3NTA0LTE1NS43Mjk5Mi0xNTAuNjM1NTItMzA0LjQ3NjE2LTE0OC42NTQwOC0yNDYuNzAyMDggMi4wMTcyOC00NDUuMjcxMDQgMjAzLjUxNDg4LTQ0My4zMDQ5NiA0NTAuMjkzNzYgMC44NTUwNCAxMDguNDI2MjQgNDAuMzE0ODggMjA3LjQyNjU2IDEwNS4xMjM4NCAyODQuMzEzNiAzNS42NzEwNCAxOC4zMjQ0OCA3OS4wNTc5MiAxMi4yNDcwNCA5Ny41NzE4NC03LjU2NzM2eiBtNDc2LjU2OTYtNzAuOTk5MDRjMzkuNDI0IDczLjM5MDA4LTUwLjMzNDcyIDEyNS40NzA3Mi0xMzIuMDE0MDggMTQ4LjY2OTQ0LTExLjM0MDggMzMuOTc2MzItMjkuODk1NjggNjQuMDg3MDQtNTEuMTY5MjggODYuMDU2OTYgMTk1LjY5NjY0LTIxLjk2NDggMzM3LjQ1OTItMTYwLjI3NjQ4IDIzMy4zMzM3Ni0yOTMuNzgwNDgtMTcuMDkwNTYgMjUuNDkyNDgtMzMuMzg3NTIgNDQuNTkwMDgtNTAuMTUwNCA1OS4wNTQwOHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Im1lbnUiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04OTYgNTU0LjY2NjY2N0gxMjhjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjdzMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3aDc2OGMyNS42IDAgNDIuNjY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY3cy0xNy4wNjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2Njd6TTg5NiAyOTguNjY2NjY3SDEyOGMtMjUuNiAwLTQyLjY2NjY2Ny0xNy4wNjY2NjctNDIuNjY2NjY3LTQyLjY2NjY2N3MxNy4wNjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjdoNzY4YzI1LjYgMCA0Mi42NjY2NjcgMTcuMDY2NjY3IDQyLjY2NjY2NyA0Mi42NjY2NjdzLTE3LjA2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2N3pNODk2IDgxMC42NjY2NjdIMTI4Yy0yNS42IDAtNDIuNjY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjctNDIuNjY2NjY3czE3LjA2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2N2g3NjhjMjUuNiAwIDQyLjY2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDQyLjY2NjY2N3MtMTcuMDY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0ic2VhcmNoIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNDY5LjMzMzMzMyA4NTMuMzMzMzMzYy0yMTMuMzMzMzMzIDAtMzg0LTE3MC42NjY2NjctMzg0LTM4NHMxNzAuNjY2NjY3LTM4NCAzODQtMzg0IDM4NCAxNzAuNjY2NjY3IDM4NCAzODQtMTcwLjY2NjY2NyAzODQtMzg0IDM4NHogbTAtNjgyLjY2NjY2NmMtMTY2LjQgMC0yOTguNjY2NjY3IDEzMi4yNjY2NjctMjk4LjY2NjY2NiAyOTguNjY2NjY2czEzMi4yNjY2NjcgMjk4LjY2NjY2NyAyOTguNjY2NjY2IDI5OC42NjY2NjcgMjk4LjY2NjY2Ny0xMzIuMjY2NjY3IDI5OC42NjY2NjctMjk4LjY2NjY2Ny0xMzIuMjY2NjY3LTI5OC42NjY2NjctMjk4LjY2NjY2Ny0yOTguNjY2NjY2eiIgID48L3BhdGg+PHBhdGggZD0iTTg5NiA5MzguNjY2NjY3Yy0xMi44IDAtMjEuMzMzMzMzLTQuMjY2NjY3LTI5Ljg2NjY2Ny0xMi44TDY4Mi42NjY2NjcgNzQyLjRjLTE3LjA2NjY2Ny0xNy4wNjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2NyAwLTU5LjczMzMzM3M0Mi42NjY2NjctMTcuMDY2NjY3IDU5LjczMzMzMyAwbDE4My40NjY2NjcgMTgzLjQ2NjY2NmMxNy4wNjY2NjcgMTcuMDY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgMCA1OS43MzMzMzQtOC41MzMzMzMgOC41MzMzMzMtMTcuMDY2NjY3IDEyLjgtMjkuODY2NjY3IDEyLjh6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJtb29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTE2LjI2NjY2NyA5MzguNjY2NjY3aC0zOC40Yy0yMzQuNjY2NjY3LTIxLjMzMzMzMy00MDUuMzMzMzMzLTIzMC40LTM4NC00NjUuMDY2NjY3IDE3LjA2NjY2Ny0yMDQuOCAxNzkuMi0zNjYuOTMzMzMzIDM4NC0zODQgMTcuMDY2NjY3IDAgMzQuMTMzMzMzIDguNTMzMzMzIDQyLjY2NjY2NiAyMS4zMzMzMzMgOC41MzMzMzMgMTIuOCA4LjUzMzMzMyAzNC4xMzMzMzMtNC4yNjY2NjYgNDYuOTMzMzM0LTg1LjMzMzMzMyAxMTUuMi01OS43MzMzMzMgMjczLjA2NjY2NyA1NS40NjY2NjYgMzU4LjQgODkuNiA2OC4yNjY2NjcgMjEzLjMzMzMzMyA2OC4yNjY2NjcgMzAyLjkzMzMzNCAwIDEyLjgtOC41MzMzMzMgMjkuODY2NjY3LTEyLjggNDYuOTMzMzMzLTQuMjY2NjY3IDEyLjggOC41MzMzMzMgMjEuMzMzMzMzIDI1LjYgMjEuMzMzMzMzIDQyLjY2NjY2Ny04LjUzMzMzMyAxMTUuMi02NCAyMTcuNi0xNTMuNiAyOTAuMTMzMzMzLTgxLjA2NjY2NyA1OS43MzMzMzMtMTc0LjkzMzMzMyA5My44NjY2NjctMjczLjA2NjY2NiA5My44NjY2Njd6TTM5Ni44IDE4Ny43MzMzMzNjLTEyMy43MzMzMzMgNDIuNjY2NjY3LTIxMy4zMzMzMzMgMTUzLjYtMjIxLjg2NjY2NyAyOTAuMTMzMzM0LTE3LjA2NjY2NyAxODcuNzMzMzMzIDExOS40NjY2NjcgMzU0LjEzMzMzMyAzMDcuMiAzNzEuMiA4OS42IDguNTMzMzMzIDE3OS4yLTE3LjA2NjY2NyAyNDcuNDY2NjY3LTc2LjggNDYuOTMzMzMzLTM4LjQgODEuMDY2NjY3LTg5LjYgMTAyLjQtMTQ1LjA2NjY2Ny0xMDYuNjY2NjY3IDM4LjQtMjI2LjEzMzMzMyAyMS4zMzMzMzMtMzIwLTQ2LjkzMzMzMy0xMTkuNDY2NjY3LTkzLjg2NjY2Ny0xNjYuNC0yNTEuNzMzMzMzLTExNS4yLTM5Mi41MzMzMzR6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJtdXNpYyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTM4NCA4MTAuNjY2NjY3Yy0yNS42IDAtNDIuNjY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjctNDIuNjY2NjY3VjIxMy4zMzMzMzNjMC0yMS4zMzMzMzMgMTcuMDY2NjY3LTM4LjQgMzQuMTMzMzM0LTQyLjY2NjY2Nmw1MTItODUuMzMzMzM0YzEyLjggMCAyNS42IDAgMzQuMTMzMzMzIDguNTMzMzM0IDEyLjggOC41MzMzMzMgMTcuMDY2NjY3IDIxLjMzMzMzMyAxNy4wNjY2NjcgMzQuMTMzMzMzdjU1NC42NjY2NjdjMCAyNS42LTE3LjA2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2NnMtNDIuNjY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjctNDIuNjY2NjY2VjE3OS4yTDQyNi42NjY2NjcgMjQ3LjQ2NjY2N1Y3NjhjMCAyNS42LTE3LjA2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2N3oiICA+PC9wYXRoPjxwYXRoIGQ9Ik0yNTYgOTM4LjY2NjY2N2MtOTMuODY2NjY3IDAtMTcwLjY2NjY2Ny03Ni44LTE3MC42NjY2NjctMTcwLjY2NjY2N3M3Ni44LTE3MC42NjY2NjcgMTcwLjY2NjY2Ny0xNzAuNjY2NjY3IDE3MC42NjY2NjcgNzYuOCAxNzAuNjY2NjY3IDE3MC42NjY2NjctNzYuOCAxNzAuNjY2NjY3LTE3MC42NjY2NjcgMTcwLjY2NjY2N3ogbTAtMjU2Yy00Ni45MzMzMzMgMC04NS4zMzMzMzMgMzguNC04NS4zMzMzMzMgODUuMzMzMzMzczM4LjQgODUuMzMzMzMzIDg1LjMzMzMzMyA4NS4zMzMzMzMgODUuMzMzMzMzLTM4LjQgODUuMzMzMzMzLTg1LjMzMzMzMy0zOC40LTg1LjMzMzMzMy04NS4zMzMzMzMtODUuMzMzMzMzek03NjggODUzLjMzMzMzM2MtOTMuODY2NjY3IDAtMTcwLjY2NjY2Ny03Ni44LTE3MC42NjY2NjctMTcwLjY2NjY2NnM3Ni44LTE3MC42NjY2NjcgMTcwLjY2NjY2Ny0xNzAuNjY2NjY3IDE3MC42NjY2NjcgNzYuOCAxNzAuNjY2NjY3IDE3MC42NjY2NjctNzYuOCAxNzAuNjY2NjY3LTE3MC42NjY2NjcgMTcwLjY2NjY2NnogbTAtMjU2Yy00Ni45MzMzMzMgMC04NS4zMzMzMzMgMzguNC04NS4zMzMzMzMgODUuMzMzMzM0czM4LjQgODUuMzMzMzMzIDg1LjMzMzMzMyA4NS4zMzMzMzMgODUuMzMzMzMzLTM4LjQgODUuMzMzMzMzLTg1LjMzMzMzMy0zOC40LTg1LjMzMzMzMy04NS4zMzMzMzMtODUuMzMzMzM0eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0ic3VuIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTEyIDc2OGMtMTQwLjggMC0yNTYtMTE1LjItMjU2LTI1NnMxMTUuMi0yNTYgMjU2LTI1NiAyNTYgMTE1LjIgMjU2IDI1Ni0xMTUuMiAyNTYtMjU2IDI1NnogbTAtNDI2LjY2NjY2N2MtOTMuODY2NjY3IDAtMTcwLjY2NjY2NyA3Ni44LTE3MC42NjY2NjcgMTcwLjY2NjY2N3M3Ni44IDE3MC42NjY2NjcgMTcwLjY2NjY2NyAxNzAuNjY2NjY3IDE3MC42NjY2NjctNzYuOCAxNzAuNjY2NjY3LTE3MC42NjY2NjctNzYuOC0xNzAuNjY2NjY3LTE3MC42NjY2NjctMTcwLjY2NjY2N3pNNTEyIDE3MC42NjY2NjdjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjdWNDIuNjY2NjY3YzAtMjUuNiAxNy4wNjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjdzNDIuNjY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY3djg1LjMzMzMzM2MwIDI1LjYtMTcuMDY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3ek01MTIgMTAyNGMtMjUuNiAwLTQyLjY2NjY2Ny0xNy4wNjY2NjctNDIuNjY2NjY3LTQyLjY2NjY2N3YtODUuMzMzMzMzYzAtMjUuNiAxNy4wNjY2NjctNDIuNjY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjdzNDIuNjY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY3djg1LjMzMzMzM2MwIDI1LjYtMTcuMDY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3ek0yMzguOTMzMzMzIDI4MS42Yy0xMi44IDAtMjEuMzMzMzMzLTQuMjY2NjY3LTI5Ljg2NjY2Ni0xMi44TDE0OS4zMzMzMzMgMjA5LjA2NjY2N2MtMTcuMDY2NjY3LTE3LjA2NjY2Ny0xNy4wNjY2NjctNDIuNjY2NjY3IDAtNTkuNzMzMzM0czQyLjY2NjY2Ny0xNy4wNjY2NjcgNTkuNzMzMzM0IDBsNTkuNzMzMzMzIDU5LjczMzMzNGMxNy4wNjY2NjcgMTcuMDY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgMCA1OS43MzMzMzMtNC4yNjY2NjcgOC41MzMzMzMtMTcuMDY2NjY3IDEyLjgtMjkuODY2NjY3IDEyLjh6TTg0NC44IDg4Ny40NjY2NjdjLTEyLjggMC0yMS4zMzMzMzMtNC4yNjY2NjctMjkuODY2NjY3LTEyLjhsLTU5LjczMzMzMy01OS43MzMzMzRjLTE3LjA2NjY2Ny0xNy4wNjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2NyAwLTU5LjczMzMzM3M0Mi42NjY2NjctMTcuMDY2NjY3IDU5LjczMzMzMyAwbDU5LjczMzMzNCA1OS43MzMzMzNjMTcuMDY2NjY3IDE3LjA2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDAgNTkuNzMzMzM0LTguNTMzMzMzIDguNTMzMzMzLTIxLjMzMzMzMyAxMi44LTI5Ljg2NjY2NyAxMi44ek0xMjggNTU0LjY2NjY2N0g0Mi42NjY2NjdjLTI1LjYgMC00Mi42NjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2Ny00Mi42NjY2NjdzMTcuMDY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2NjctNDIuNjY2NjY3aDg1LjMzMzMzM2MyNS42IDAgNDIuNjY2NjY3IDE3LjA2NjY2NyA0Mi42NjY2NjcgNDIuNjY2NjY3cy0xNy4wNjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2NyA0Mi42NjY2Njd6TTk4MS4zMzMzMzMgNTU0LjY2NjY2N2gtODUuMzMzMzMzYy0yNS42IDAtNDIuNjY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjctNDIuNjY2NjY3czE3LjA2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3LTQyLjY2NjY2N2g4NS4zMzMzMzNjMjUuNiAwIDQyLjY2NjY2NyAxNy4wNjY2NjcgNDIuNjY2NjY3IDQyLjY2NjY2N3MtMTcuMDY2NjY3IDQyLjY2NjY2Ny00Mi42NjY2NjcgNDIuNjY2NjY3ek0xNzkuMiA4ODcuNDY2NjY3Yy0xMi44IDAtMjEuMzMzMzMzLTQuMjY2NjY3LTI5Ljg2NjY2Ny0xMi44LTE3LjA2NjY2Ny0xNy4wNjY2NjctMTcuMDY2NjY3LTQyLjY2NjY2NyAwLTU5LjczMzMzNGw1OS43MzMzMzQtNTkuNzMzMzMzYzE3LjA2NjY2Ny0xNy4wNjY2NjcgNDIuNjY2NjY3LTE3LjA2NjY2NyA1OS43MzMzMzMgMHMxNy4wNjY2NjcgNDIuNjY2NjY3IDAgNTkuNzMzMzMzbC01OS43MzMzMzMgNTkuNzMzMzM0Yy04LjUzMzMzMyA4LjUzMzMzMy0xNy4wNjY2NjcgMTIuOC0yOS44NjY2NjcgMTIuOHpNNzg1LjA2NjY2NyAyODEuNmMtMTIuOCAwLTIxLjMzMzMzMy00LjI2NjY2Ny0yOS44NjY2NjctMTIuOC0xNy4wNjY2NjctMTcuMDY2NjY3LTE3LjA2NjY2Ny00Mi42NjY2NjcgMC01OS43MzMzMzNsNTkuNzMzMzMzLTU5LjczMzMzNGMxNy4wNjY2NjctMTcuMDY2NjY3IDQyLjY2NjY2Ny0xNy4wNjY2NjcgNTkuNzMzMzM0IDBzMTcuMDY2NjY3IDQyLjY2NjY2NyAwIDU5LjczMzMzNGwtNTkuNzMzMzM0IDU5LjczMzMzM2MtOC41MzMzMzMgOC41MzMzMzMtMjEuMzMzMzMzIDEyLjgtMjkuODY2NjY2IDEyLjh6IiAgPjwvcGF0aD48L3N5bWJvbD48L3N2Zz4nLHM9KHM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpKVtzLmxlbmd0aC0xXS5nZXRBdHRyaWJ1dGUoImRhdGEtaW5qZWN0Y3NzIik7aWYocyYmIWwuX19pY29uZm9udF9fc3ZnX19jc3NpbmplY3RfXyl7bC5fX2ljb25mb250X19zdmdfX2Nzc2luamVjdF9fPSEwO3RyeXtkb2N1bWVudC53cml0ZSgiPHN0eWxlPi5zdmdmb250IHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDFlbTtoZWlnaHQ6IDFlbTtmaWxsOiBjdXJyZW50Q29sb3I7dmVydGljYWwtYWxpZ246IC0wLjFlbTtmb250LXNpemU6MTZweDt9PC9zdHlsZT4iKX1jYXRjaChsKXtjb25zb2xlJiZjb25zb2xlLmxvZyhsKX19ZnVuY3Rpb24gcCgpe218fChtPSEwLGEoKSl9Yz1mdW5jdGlvbigpe3ZhciBsLGMsaCxhOyhhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9dix2PW51bGwsKGg9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3ZnIilbMF0pJiYoaC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLGguc3R5bGUucG9zaXRpb249ImFic29sdXRlIixoLnN0eWxlLndpZHRoPTAsaC5zdHlsZS5oZWlnaHQ9MCxoLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLGw9aCwoYz1kb2N1bWVudC5ib2R5KS5maXJzdENoaWxkPyhhPWwsKGg9Yy5maXJzdENoaWxkKS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLGgpKTpjLmFwcGVuZENoaWxkKGwpKX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcj9+WyJjb21wbGV0ZSIsImxvYWRlZCIsImludGVyYWN0aXZlIl0uaW5kZXhPZihkb2N1bWVudC5yZWFkeVN0YXRlKT9zZXRUaW1lb3V0KGMsMCk6KGg9ZnVuY3Rpb24oKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixoLCExKSxjKCl9LGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGgsITEpKTpkb2N1bWVudC5hdHRhY2hFdmVudCYmKGE9Yyx6PWwuZG9jdW1lbnQsbT0hMSwodD1mdW5jdGlvbigpe3RyeXt6LmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpfWNhdGNoKGwpe3JldHVybiB2b2lkIHNldFRpbWVvdXQodCw1MCl9cCgpfSkoKSx6Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpeyJjb21wbGV0ZSI9PXoucmVhZHlTdGF0ZSYmKHoub25yZWFkeXN0YXRlY2hhbmdlPW51bGwscCgpKX0pfSh3aW5kb3cpOw=="></script><script>Config={homeUrl:"https://nn.ci",staticUrl:"https://cdn.jsdelivr.net/gh/zwying0814/Cuteen@4.6/static/",themeUrl:"https://www.nn.ci/usr/themes/Cuteen",musicId:"id",musicMedia:"media",topImage:"yes",NavBarHeadroom:"yes",noConsole:"no",darkSet:"0",authName:""}</script></head><body class="bg-light"><nav id="navPC" class="navbar navbar-expand d-none d-md-flex navbar-light px-5 bg-transparent has-img"><a class="navbar-brand" href="https://www.nn.ci/">Xhofe's Blog</a><ul class="navbar-nav mr-auto"><li class="nav-item"><a class="nav-link" href="https://nn.ci/archives.html">📁 归档</a></li><li class="nav-item"><a class="nav-link" href="https://nn.ci/links.html">🔗 友链</a></li><li class="nav-item"><a class="nav-link" href="https://nn.ci/leaving.html">✏️ 留言</a></li><li class="nav-item"><a class="nav-link" href="https://nn.ci/says.html">🌈 动态</a></li><li class="nav-item"><a class="nav-link" href="https://nn.ci/about.html">😯关于</a></li></ul><ul class="navbar-nav"><li id="themePlane" class="d-inline-flex align-items-center color-icon position-relative"><svg class="icon icon-20" aria-hidden="true"><use xlink:href="#huaban"></use></svg><div id="themeColor"><input onclick="Cuteen.themeColor(this.value)" type="radio" class="btn-check" name="options-outlined" value="primary" id="blue-outlined" checked> <label class="btn btn-outline-blue" for="blue-outlined">原</label> <input onclick="Cuteen.themeColor(this.value)" type="radio" class="btn-check" name="options-outlined" value="success" id="success-outlined"> <label class="btn btn-outline-success" for="success-outlined">绿</label> <input onclick="Cuteen.themeColor(this.value)" type="radio" class="btn-check" name="options-outlined" value="danger" id="danger-outlined"> <label class="btn btn-outline-danger" for="danger-outlined">红</label> <input onclick="Cuteen.themeColor(this.value)" type="radio" class="btn-check" name="options-outlined" value="warning" id="warning-outlined"> <label class="btn btn-outline-warning" for="warning-outlined">黄</label> <input onclick="Cuteen.themeColor(this.value)" type="radio" class="btn-check" name="options-outlined" value="info" id="info-outlined"> <label class="btn btn-outline-info" for="info-outlined">蓝</label></div></li><li onclick="Cuteen.darkMode()" class="d-inline-flex align-items-center dark-icon" data-toggle="tooltip" data-placement="bottom" title="昼夜切换"><svg class="icon icon-20" aria-hidden="true" id="darkMode"><use xlink:href="#moon"></use></svg></li></ul></nav><nav id="navMobile" class="navbar navbar-expand d-flex justify-content-between d-md-none navbar-light bg-white z-index2 bg-transparent has-img"><div class="d-inline-flex align-items-center" id="mobileMenu"><svg class="icon icon-20" aria-hidden="true"><use xlink:href="#menu"></use></svg></div><a class="navbar-brand mr-0" href="https://www.nn.ci/">Xhofe's Blog</a><div data-toggle="modal" data-target="#searchModal"></div></nav><aside id="mobileAside" class="d-block d-sm-none bg-white"><div class="mobile-nav"><div class="aside-info text-center px-3"><a class="aside-avatar" href="https://www.nn.ci/"><img src="https://mapp.alicdn.com/1627317750082Tx76rUJVJlh1bQ7.png" alt=""></a><p class="font-weight-bold mt-3">Xhofe's Blog</p><p class="small">晚来天欲雪,能饮一杯无?</p></div><hr><ul class="aside-pages px-3 list-unstyled small"><li class="d-inline-flex align-items-center"></li><li><a onclick="Cuteen.bodyClose()" href="https://nn.ci/archives.html">📁 归档</a></li><li><a onclick="Cuteen.bodyClose()" href="https://nn.ci/links.html">🔗 友链</a></li><li><a onclick="Cuteen.bodyClose()" href="https://nn.ci/leaving.html">✏️ 留言</a></li><li><a onclick="Cuteen.bodyClose()" href="https://nn.ci/says.html">🌈 动态</a></li><li><a onclick="Cuteen.bodyClose()" href="https://nn.ci/about.html">😯关于</a></li></ul></div></aside><header class="lazy" id="header" data-bg="https://mapp.alicdn.com/1627317871193fnLyWvNueqWM7US.png"><div class="hero-box d-flex justify-content-center align-items-center flex-column"><h1 id="heading" class="mt-5 h1 text-white">阿里云盘列表AList部署教程</h1><p id="subheading" class="mt-3 h5 text-white d-flex"><span class="post-info"><svg class="icon mr-1" aria-hidden="true"><use xlink:href="#shijian"></use></svg>2021年03月13日</span> <span class="post-info"><svg class="icon mr-1" aria-hidden="true"><use xlink:href="#huo"></use></svg>26863阅读</span> <span class="post-info"><svg class="icon mr-1" aria-hidden="true"><use xlink:href="#bidianliang"></use></svg>1736 字</span> <span class="post-info"><svg class="icon mr-1" aria-hidden="true"><use xlink:href="#pinglun1"></use></svg>253 条评论</span></p></div></header><main id="main" class="bg-light mb-4 container clearfix" data-bgimg="yes"><div class="row justify-content-center flex-row-reverse"><div id="sidebar" class="col-lg-3 d-none d-lg-block"><div id="sidebar-box" class="h-100"><div class="sidebar-box position-relative"><div class="sidebar-banner" style="background-image:url(&quot;https://mapp.alicdn.com/1627317750082Tx76rUJVJlh1bQ7.png&quot;)"></div><div class="text-center"><img class="sidebar-avatar position-absolute" src="https://mapp.alicdn.com/1627317750082Tx76rUJVJlh1bQ7.png" alt=""></div><div class="sidebar-name">Xhofe</div><div class="sidebar-info"><div class="sidebar-post-number"><span>文章</span>22</div><div class="sidebar-categories-number"><span>评论</span>262</div><div class="sidebar-tags-number"><span>标签</span>21</div></div></div></div></div><div id="content" class="col-lg-9"><div class="post-ctx"><header class="post-nav"><span class="item"><svg class="icon mr-1" aria-hidden="true"><use xlink:href="#home"></use></svg><a class="a-none" href="https://www.nn.ci/">首页</a></span> <span class="item"><svg class="icon mr-1" aria-hidden="true"><use xlink:href="#grid"></use></svg><a href="https://nn.ci/category/tutorials/">教程</a>,<a href="https://nn.ci/category/project/">项目</a></span></header><hr><article id="post"><h2 id="toc_0">简介</h2><p>AList是一款阿里云盘的目录文件列表程序，后端基于<code>golang</code>最好的<code>http</code>框架<code>gin</code>，前端使用<code>vue</code>和<code>ant design</code>。没有专门学过前端，大佬轻喷😘<br></p><blockquote style="border-left:5px solid var(--bs-primary)"><p>点击链接加入群聊【Alist使用交流】：<a href="https://jq.qq.com/?_wv=1027&amp;k=OVPJcv2b">https://jq.qq.com/?_wv=1027&amp;k=OVPJcv2b</a><br>或搜索群号：920516758<br>更新计划：<a href="https://www.notion.so/AList-993f3a1a43fc464588f018b46369672e">https://www.notion.so/AList-993f3a1a43fc464588f018b46369672e</a>，有好的建议可以评论或在issue中告诉我。<br></p></blockquote><p>本程序仅供学习研究使用！！！发现任何bug请提issue，部署上遇到问题欢迎加群交流。<br>更新的时候后端和前端文件都需要替换！！！！以及补上配置文件新的配置项！！！！第一次启动需要网页底部rebuild！！！<br>更新的时候后端和前端文件都需要替换！！！！以及补上配置文件新的配置项！！！！第一次启动需要网页底部rebuild！！！<br>更新的时候后端和前端文件都需要替换！！！！以及补上配置文件新的配置项！！！！第一次启动需要网页底部rebuild！！！</p><h2 id="toc_1">项目地址：</h2><ul><li><a href="https://github.com/Xhofe/alist">https://github.com/Xhofe/alist</a></li><li><a href="https://github.com/Xhofe/alist-web">https://github.com/Xhofe/alist-web</a></li></ul><h2 id="toc_2">快捷部署（by <a href="https://www.cooluc.com/">大白一号</a>）</h2><ul><li>脚本安装：<code>bash -c "$(curl -sS https://www.cooluc.com/alist-install.sh)"</code></li><li>refresh_token获取：<a href="https://media.cooluc.com/decode_token/">https://media.cooluc.com/decode_token/</a></li><li>Heroku部署： <a href="https://github.com/sbwml/alist-heroku">https://github.com/sbwml/alist-heroku</a></li></ul><h2 id="toc_3">更新</h2><h3 id="toc_4">2021.5.1</h3><ul><li>在线预览视频时间延长到4小时 (<a href="https://github.com/Xhofe/alist/pull/96">#96</a>)</li><li>指定路径与深度rebuild</li><li>优化请求：分次请求</li><li>增加右键菜单</li><li>支持多选、导出直链/秒传（需要rebuild，借助<a href="https://bbs.tampermonkey.net.cn/thread-427-1-1.html">https://bbs.tampermonkey.net.cn/thread-427-1-1.html</a>）</li><li>直链编码</li></ul><h3 id="toc_5">2021.3.31</h3><ul><li>优化路径栏</li><li>修复了因为Referer导致不能下载的问题（<a href="https://github.com/122cygf">122cygf</a>）</li><li>增加了视频转码选项</li><li>图片缩略图预览</li><li>修复了json文件无法预览的bug</li></ul><h3 id="toc_6">2021.3.17</h3><p>本次更新需要修改配置文件，更新之后/首次运行都需要手动rebuild一下。</p><ul><li>支持多盘</li><li>直链url密码哈希</li><li>修复不需要密码的文件复制直链也会携带密码的bug</li><li>数据库支持mysql</li><li>修复从文件返回目录Readme不更新的bug</li><li>重建目录时遮罩，优化体验</li><li>支持flv视频（部分浏览器可能不支持，详见<a href="https://github.com/Bilibili/flv.js/">https://github.com/Bilibili/flv.js/</a>）</li></ul><h3 id="toc_7">2021.3.13</h3><ul><li>后端引入sqlite3，列表部分不再依赖api，提高响应速度</li><li>支持搜索功能</li><li>前端使用vue3+ts重构</li><li>url支持按照目录结果展示</li><li>音乐播放支持列表</li><li>支持隐藏文件夹</li><li>更好的密码支持</li><li>更早的更新：<a href="https://www.nn.ci/archives/alist-v0.html">https://www.nn.ci/archives/alist-v0.html</a></li></ul><h2 id="toc_8">预览</h2><ul><li><a href="https://alist.nn.ci">https://alist.nn.ci</a> (稳定版本,即Github Release的最新版本)</li><li><a href="https://alist.now.sh">https://alist.now.sh</a> (开发版本,随着GitHub提交更新)</li></ul><p><a class="lightbox" href="https://mapp.alicdn.com/1627317871193fnLyWvNueqWM7US.png"><img src="https://mapp.alicdn.com/1627317871193fnLyWvNueqWM7US.png" alt="alist预览" title="alist预览"></a></p><h2 id="toc_9">如何部署</h2><p>首先第一步，Star本项目<a href="https://github.com/Xhofe/alist">AList</a>(bushi</p><h3 id="toc_10">获取<code>refresh_token</code></h3><p>web端token已失效，请参考这个<a href="https://github.com/Xhofe/alist/issues/88">issue</a>通过手机端抓包/查找日志（<code>/data/media/0/Android/data/com.alicloud.databox/files/logs/trace/</code>）来获取refresh_token，或使用<a href="https://media.cooluc.com/decode_token/">https://media.cooluc.com/decode_token/</a>。<br><del>为什么不直接使用<code>access_token</code>，因为有效期只有两小时。经<a href="https://www.hostloc.com/space-uid-22146.html">Syc</a>大佬的提醒，获取<code>refresh_token</code>其实没这么麻烦，我们只需要登陆阿里云盘之后，打开开发者工具，切换到<code>Application</code>选项卡，点开<code>Local storage</code>,会有一个<code>token</code>项，点开就可以看到<code>refresh_token</code>了，此处感谢一下<a href="https://www.hostloc.com/space-uid-22146.html">Syc</a>大佬。</del></p><h3 id="toc_11">部署</h3><h4 id="toc_12">使用gin作为静态资源服务器</h4><ul><li>前往<a href="https://github.com/Xhofe/alist/releases">AList Release</a>下载对应系统的程序，解压得到一个示例配置文件和一个系统名称文件夹里面包含运行文件<code>alist</code></li><li>前往<a href="https://github.com/Xhofe/alist-web/releases">AList-web</a>下载打包好的前端，解压得到一个dist目录放到<code>alist</code>同级目录下</li><li>在同级目录下新建一个配置文件<code>conf.yml</code>，复制以下内容到该文件中，或直接使用示例配置文件进行修改</li></ul><pre><code class="lang-yaml">info:
  title: AList #标题
  logo: "" #网站logo 如果填写,则会替换掉默认的
  footer_text: Xhofe's Blog #网页底部文字
  footer_url: https://www.nn.ci #网页底部文字链接
  music_img: https://img.xhofe.top/2020/12/19/0f8b57866bdb5.gif #预览音乐文件时的图片
  check_update: true #前端是否显示更新
  script: #自定义脚本,可以是脚本的链接，也可以直接是脚本内容
  autoplay: true #视频是否自动播放
  preview:
    text: [txt,htm,html,xml,java,properties,sql,js,md,json,conf,ini,vue,php,py,bat,gitignore,yml,go,sh,c,cpp,h,hpp] #要预览的文本文件的后缀，可以自行添加
server:
  address: "0.0.0.0"
  port: "5244"
  search: true
  download: true
  static: dist
  site_url: '*'
  password: password #用于重建目录
ali_drive:
  api_url: https://api.aliyundrive.com/v2
  max_files_count: 3000
  drives:
  - refresh_token: xxx #refresh_token
    root_folder: root #根目录的file_id
    name: drive0 #盘名，多个盘不可重复，这里只是示例，不是一定要叫这个名字，可随意修改
    password: pass #该盘密码，空（''）则不设密码，修改需要重建生效
    hide: false #是否在主页隐藏该盘，不可全部隐藏，至少暴露一个
  - refresh_token: xxx #只有一个盘的话，该段完全可以删除，反之有更多可以继续添加
    root_folder: root
    name: drive1
    password: pass
    hide: false
database:
  type: sqlite3
  dBFile: alist.db</code></pre><ul><li>填入最开始获取到的<code>refresh_token</code>，然后自行修改配置文件中默认的值</li><li>现在的情况应该是，目录下有两个文件<code>alist</code>、<code>conf.yml</code>和一个文件夹<code>dist</code>:</li></ul><pre><code class="lang-bash">$ tree
.
├── alist
├── conf.yml
└── dist
    ├── favicon.ico
    ├── index.html
    └── static
        ├── css
        │&nbsp;&nbsp; ├── about.f0b54b1c.css
        │&nbsp;&nbsp; ├── app.4f0c3e9a.css
        │&nbsp;&nbsp; └── chunk-vendors.8f913079.css
        ├── img
        │&nbsp;&nbsp; └── alist.bcb68ba0.png
        └── js
            ├── about.8108f65b.js
            ├── app.34cb39e5.js
            └── chunk-vendors.131f0f41.js

5 directories, 12 files</code></pre><p>在该文件夹下面执行下面的命令（Linux）</p><pre><code class="lang-bash">chmod +x alist
nohup ./alist &gt; log.log 2&gt;&amp;1 &amp;</code></pre><p>ok，程序已经跑起来了。你可以<code>cat log.log</code>看看有没有报错。或者访问<a href="http://localhost:5244">http://ip:5244</a>进行查看。</p><h5 id="toc_13">守护进程（可选）</h5><p><code>vim /usr/lib/systemd/system/alist.service</code>添加以下内容，其中path_alist为alist所在的路径</p><pre><code class="lang-ini">[Unit]
Description=alist
After=network.target

[Service]
Type=simple
WorkingDirectory=path_alist
ExecStart=path_alist/alist -conf conf.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target</code></pre><p>然后<code>systemctl daemon-reload</code>重载配置，现在你就可以使用这些命令来管理程序了：</p><ul><li>启动: <code>systemctl start alist</code></li><li>关闭: <code>systemctl stop alist</code></li><li>自启: <code>systemctl enable alist</code></li><li>状态: <code>systemctl status alist</code></li></ul><h5 id="toc_14">使用mysql（可选）</h5><p>需要使用utf8mb4编码，修改database部分配置：</p><pre><code class="lang-yaml">database:
  type: mysql
  user: 用户名
  password: 密码
  host: 127.0.0.1
  port: 3306
  name: 数据库名</code></pre><h4 id="toc_15">自定义静态资源服务器</h4><p>与使用gin作为静态资源服务器操作步骤差不多，不同的地方在于：</p><ul><li>下载<a href="https://github.com/Xhofe/alist-web">AList-web</a>的源码，修改<code>.env.production</code>中的<code>VUE_APP_API_URL</code>为具体部署的后端地址，然后<code>yarn &amp;&amp; yarn build</code>自行部署</li><li><code>conf.yml</code>中的<code>server.site_url</code>填写前端部署的域名或者默认为'*'，需要正确填写，否则会报错。</li><li>建议直接使用gin作为静态资源服务器，使用nginx的话因为路由使用了history模式（没有#号好看一点），所以还需要设置一下nginx：</li></ul><pre><code class="lang-nginx">location / {
  try_files $uri $uri/ /index.html;
}</code></pre><p>参考：<a href="https://router.vuejs.org/zh/guide/essentials/history-mode.html">https://router.vuejs.org/zh/guide/essentials/history-mode.html</a></p><h4 id="toc_16">反向代理</h4><p>程序默认监听5244端口，要实现https访问，需要使用nginx反向代理，在配置文件中加入</p><pre><code class="lang-nginx">    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_redirect off;
        proxy_pass http://127.0.0.1:5244;
    }</code></pre><h2 id="toc_17">常见问题解答</h2><ul><li>如何给文件夹设置密码？<br>在要加密的目录名称后面加上<code>.password-密码</code>，列表中会自动消除后面的密码部分。</li><li>如何隐藏文件夹<br>在要隐藏的文件夹名称后面加上<code>.hide</code>即可。</li><li>如何重建目录树<br>点击网页底部的rebuild按钮，输入配置文件中设置的server.password确定即可。</li><li>如何设置根目录？<br>修改配置文件中的<code>ali_drive.root_folder</code> 为想要设置的文件夹的<code>file_id</code>即可。文件夹的file_id是什么？根目录就是root，其他目录为点进文件夹之后的url中<code>folder/</code>后面那一串</li><li>如何自定义网页底部链接？<br>修改配置文件中的<code>footer_text</code>和<code>footer_url</code>为要设置的内容，或者不填则不会显示。</li><li>怎么复制文件直链？<br>点进文件，右上角有复制直链的按钮。</li><li>修改网站icon？<br>替换掉<code>dist</code>目录下的<code>favicon.ico</code>即可。</li><li>为什么新上传的文件不显示/删除了的文件还在？<br>列表展示的是本地数据库里的数据，更新文件之后需要重建。</li><li>如何更新？<br>前端：下载新的打包好的文件，删掉原来的dist文件夹，解压新的dist放入原来的位置即可。后端：<code>pkill alist</code> 停掉老的进程，删除旧的<code>alist</code>，下载新的alist，查看配置文件，补上新的配置项，再次运行即可。</li><li>运行显示检查更新之后直接报错？<br>可能是无法访问到GitHub的api，可以在命令行后面加上<code>-skip-update</code>跳过检查更新。</li><li>怎么指定路径重建？<br>在哪个路径点rebuild就是在哪里重建。</li><li>The input parameter limit is not valid. limit should be less than 200？<br><a href="https://github.com/Xhofe/alist-web/issues/22">Xhofe/alist-web#22</a></li></ul><h2 id="toc_18">Buy me a coffee</h2><p>If you are using this project and happy with it or just want to encourage me to continue creating stuff,buy me a coffee by click <a href="https://pay.xhofe.top">this</a> 。Thanks：</p><ul><li><a href="https://github.com/zsbai">zsbai</a> ：请一杯奶茶🥤</li><li>白鹭</li><li>不知名</li><li>永胜</li><li>MFYDev</li><li>HakimYu</li><li>Moc̶k̶i̶n̶gbird</li></ul></article><hr><div class="postTags"><svg class="icon icon-20 mr-1" aria-hidden="true"><use xlink:href="#tag"></use></svg> <a href="https://nn.ci/tag/github/">github</a><a href="https://nn.ci/tag/go/">go</a><a href="https://nn.ci/tag/vue/">vue</a><a href="https://nn.ci/tag/gin/">gin</a></div><hr><div class="copyright"><div class="d-flex align-items-center"><svg class="icon" aria-hidden="true"><use xlink:href="#touxiang"></use></svg><div class="copyright-text">版权属于：Xhofe</div></div><div class="d-flex align-items-center"><svg class="icon" aria-hidden="true"><use xlink:href="#ziyuan"></use></svg><div class="copyright-text">本文链接：https://nn.ci/archives/alist.html</div></div><div class="d-flex align-items-center"><svg class="icon" aria-hidden="true"><use xlink:href="#fenxiang1"></use></svg><div class="copyright-text">作品采用 <a class="text-decoration-none" target="_blank" href="https://creativecommons.org/licenses/by/4.0/deed.zh">知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 </a>进行许可</div></div></div></div></div></div><div id="TOC-btn"><div class="position-relative"><div class="p-2"><svg class="icon icon-20" aria-hidden="true"><use xlink:href="#list"></use></svg> 目录</div><div class="TOC-ctx"><div id="TOC-text" class="TOC-text"></div></div></div></div></main><footer id="footer" class="bg-white p-4 text-center"><p class="small">© 2021 <a href="https://www.nn.ci/">Xhofe's Blog</a></p></footer><div id="mask" onclick="Cuteen.bodyClose()" data-mask="close"></div><div class="mobile-right-btn"><div onclick="Cuteen.darkMode()" class="right-btn-icon d-block d-sm-none"><svg class="icon icon-20" aria-hidden="true" id="mobileDarkMode"><use xlink:href="#moon"></use></svg></div><div class="right-btn-icon" onclick="Cuteen.backTop()"><svg class="icon icon-20" aria-hidden="true"><use xlink:href="#arrow-up"></use></svg></div></div><script src="data:application/javascript;charset=utf-8;base64,LyoqIQogKiBsaWdodGdhbGxlcnkuanMgfCAxLjIuMCB8IE1heSAyMHRoIDIwMjAKICogaHR0cDovL3NhY2hpbmNob29sdXIuZ2l0aHViLmlvL2xpZ2h0Z2FsbGVyeS5qcy8KICogQ29weXJpZ2h0IChjKSAyMDE2IFNhY2hpbiBOOyAKICogQGxpY2Vuc2UgR1BMdjMgCiAqLwohZnVuY3Rpb24odCl7aWYoIm9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSltb2R1bGUuZXhwb3J0cz10KCk7ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZShbXSx0KTtlbHNleygidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMpLkxpZ2h0Z2FsbGVyeT10KCl9fSgoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gdChlLG4saSl7ZnVuY3Rpb24gbyhzLGEpe2lmKCFuW3NdKXtpZighZVtzXSl7dmFyIGw9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIWEmJmwpcmV0dXJuIGwocywhMCk7aWYocilyZXR1cm4gcihzLCEwKTt2YXIgYz1uZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnIitzKyInIik7dGhyb3cgYy5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixjfXZhciB1PW5bc109e2V4cG9ydHM6e319O2Vbc11bMF0uY2FsbCh1LmV4cG9ydHMsKGZ1bmN0aW9uKHQpe3JldHVybiBvKGVbc11bMV1bdF18fHQpfSksdSx1LmV4cG9ydHMsdCxlLG4saSl9cmV0dXJuIG5bc10uZXhwb3J0c31mb3IodmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUscz0wO3M8aS5sZW5ndGg7cysrKW8oaVtzXSk7cmV0dXJuIG99KHsxOltmdW5jdGlvbih0LGUsbil7IWZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwIT09billKG4pO2Vsc2V7dmFyIGk9e2V4cG9ydHM6e319O2UoaS5leHBvcnRzKSx0LmxnVXRpbHM9aS5leHBvcnRzfX0odGhpcywoZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZT17Z2V0QXR0cmlidXRlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRbZV19LHNldEF0dHJpYnV0ZTpmdW5jdGlvbih0LGUsbil7dFtlXT1ufSx3cmFwOmZ1bmN0aW9uKHQsZSl7aWYodCl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bi5jbGFzc05hbWU9ZSx0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG4sdCksdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLG4uYXBwZW5kQ2hpbGQodCl9fSxhZGRDbGFzczpmdW5jdGlvbih0LGUpe3QmJih0LmNsYXNzTGlzdD90LmNsYXNzTGlzdC5hZGQoZSk6dC5jbGFzc05hbWUrPSIgIitlKX0scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24odCxlKXt0JiYodC5jbGFzc0xpc3Q/dC5jbGFzc0xpc3QucmVtb3ZlKGUpOnQuY2xhc3NOYW1lPXQuY2xhc3NOYW1lLnJlcGxhY2UobmV3IFJlZ0V4cCgiKF58XFxiKSIrZS5zcGxpdCgiICIpLmpvaW4oInwiKSsiKFxcYnwkKSIsImdpIiksIiAiKSl9LGhhc0NsYXNzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY2xhc3NMaXN0P3QuY2xhc3NMaXN0LmNvbnRhaW5zKGUpOm5ldyBSZWdFeHAoIihefCApIitlKyIoIHwkKSIsImdpIikudGVzdCh0LmNsYXNzTmFtZSl9LHNldFZlbmRvcjpmdW5jdGlvbih0LGUsbil7dCYmKHQuc3R5bGVbZS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKStlLnNsaWNlKDEpXT1uLHQuc3R5bGVbIndlYmtpdCIrZV09bix0LnN0eWxlWyJtb3oiK2VdPW4sdC5zdHlsZVsibXMiK2VdPW4sdC5zdHlsZVsibyIrZV09bil9LHRyaWdnZXI6ZnVuY3Rpb24odCxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06bnVsbDtpZih0KXt2YXIgaT1uZXcgQ3VzdG9tRXZlbnQoZSx7ZGV0YWlsOm59KTt0LmRpc3BhdGNoRXZlbnQoaSl9fSxMaXN0ZW5lcjp7dWlkOjB9LG9uOmZ1bmN0aW9uKHQsbixpKXt2YXIgbz10aGlzO3QmJm4uc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihuKXt2YXIgcj1vLmdldEF0dHJpYnV0ZSh0LCJsZy1ldmVudC11aWQiKXx8IiI7ZS5MaXN0ZW5lci51aWQrKyxyKz0iJiIrZS5MaXN0ZW5lci51aWQsby5zZXRBdHRyaWJ1dGUodCwibGctZXZlbnQtdWlkIixyKSxlLkxpc3RlbmVyW24rZS5MaXN0ZW5lci51aWRdPWksdC5hZGRFdmVudExpc3RlbmVyKG4uc3BsaXQoIi4iKVswXSxpLCExKX0pKX0sb2ZmOmZ1bmN0aW9uKHQsbil7aWYodCl7dmFyIGk9dGhpcy5nZXRBdHRyaWJ1dGUodCwibGctZXZlbnQtdWlkIik7aWYoaSl7aT1pLnNwbGl0KCImIik7Zm9yKHZhciBvPTA7bzxpLmxlbmd0aDtvKyspaWYoaVtvXSl7dmFyIHI9bitpW29dO2lmKCIuIj09PXIuc3Vic3RyaW5nKDAsMSkpZm9yKHZhciBzIGluIGUuTGlzdGVuZXIpZS5MaXN0ZW5lci5oYXNPd25Qcm9wZXJ0eShzKSYmcy5zcGxpdCgiLiIpLmluZGV4T2Yoci5zcGxpdCgiLiIpWzFdKT4tMSYmKHQucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLnNwbGl0KCIuIilbMF0sZS5MaXN0ZW5lcltzXSksdGhpcy5zZXRBdHRyaWJ1dGUodCwibGctZXZlbnQtdWlkIix0aGlzLmdldEF0dHJpYnV0ZSh0LCJsZy1ldmVudC11aWQiKS5yZXBsYWNlKCImIitpW29dLCIiKSksZGVsZXRlIGUuTGlzdGVuZXJbc10pO2Vsc2UgdC5yZW1vdmVFdmVudExpc3RlbmVyKHIuc3BsaXQoIi4iKVswXSxlLkxpc3RlbmVyW3JdKSx0aGlzLnNldEF0dHJpYnV0ZSh0LCJsZy1ldmVudC11aWQiLHRoaXMuZ2V0QXR0cmlidXRlKHQsImxnLWV2ZW50LXVpZCIpLnJlcGxhY2UoIiYiK2lbb10sIiIpKSxkZWxldGUgZS5MaXN0ZW5lcltyXX19fX0scGFyYW06ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5rZXlzKHQpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChlKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHRbZV0pfSkpLmpvaW4oIiYiKX19O3QuZGVmYXVsdD1lfSkpfSx7fV0sMjpbZnVuY3Rpb24odCxlLG4peyFmdW5jdGlvbihlLGkpe2lmKHZvaWQgMCE9PW4paSh0KCIuL2xnLXV0aWxzIikpO2Vsc2V7aShlLmxnVXRpbHMpLGUubGlnaHRnYWxsZXJ5PXt9fX0odGhpcywoZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3ZhciBlLG49KGU9dCkmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9O3ZhciBpPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciBuPWFyZ3VtZW50c1tlXTtmb3IodmFyIGkgaW4gbilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixpKSYmKHRbaV09bltpXSl9cmV0dXJuIHR9OyFmdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuQ3VzdG9tRXZlbnQpcmV0dXJuITE7ZnVuY3Rpb24gdCh0LGUpe2U9ZXx8e2J1YmJsZXM6ITEsY2FuY2VsYWJsZTohMSxkZXRhaWw6dm9pZCAwfTt2YXIgbj1kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTtyZXR1cm4gbi5pbml0Q3VzdG9tRXZlbnQodCxlLmJ1YmJsZXMsZS5jYW5jZWxhYmxlLGUuZGV0YWlsKSxufXQucHJvdG90eXBlPXdpbmRvdy5FdmVudC5wcm90b3R5cGUsd2luZG93LkN1c3RvbUV2ZW50PXR9KCksd2luZG93LnV0aWxzPW4uZGVmYXVsdCx3aW5kb3cubGdEYXRhPXt1aWQ6MH0sd2luZG93LmxnTW9kdWxlcz17fTt2YXIgbz17bW9kZToibGctc2xpZGUiLGNzc0Vhc2luZzoiZWFzZSIsZWFzaW5nOiJsaW5lYXIiLHNwZWVkOjYwMCxoZWlnaHQ6IjEwMCUiLHdpZHRoOiIxMDAlIixhZGRDbGFzczoiIixzdGFydENsYXNzOiJsZy1zdGFydC16b29tIixiYWNrZHJvcER1cmF0aW9uOjE1MCxoaWRlQmFyc0RlbGF5OjZlMyx1c2VMZWZ0OiExLGFyaWFMYWJlbGxlZGJ5OiIiLGFyaWFEZXNjcmliZWRieToiIixjbG9zYWJsZTohMCxsb29wOiEwLGVzY0tleTohMCxrZXlQcmVzczohMCxjb250cm9sczohMCxzbGlkZUVuZEFuaW1hdG9pbjohMCxoaWRlQ29udHJvbE9uRW5kOiExLG1vdXNld2hlZWw6ITEsZ2V0Q2FwdGlvbkZyb21UaXRsZU9yQWx0OiEwLGFwcGVuZFN1Ykh0bWxUbzoiLmxnLXN1Yi1odG1sIixzdWJIdG1sU2VsZWN0b3JSZWxhdGl2ZTohMSxwcmVsb2FkOjEsc2hvd0FmdGVyTG9hZDohMCxzZWxlY3RvcjoiIixzZWxlY3RXaXRoaW46IiIsbmV4dEh0bWw6IiIscHJldkh0bWw6IiIsaW5kZXg6ITEsaWZyYW1lTWF4V2lkdGg6IjEwMCUiLGRvd25sb2FkOiEwLGNvdW50ZXI6ITAsYXBwZW5kQ291bnRlclRvOiIubGctdG9vbGJhciIsc3dpcGVUaHJlc2hvbGQ6NTAsZW5hYmxlU3dpcGU6ITAsZW5hYmxlRHJhZzohMCxkeW5hbWljOiExLGR5bmFtaWNFbDpbXSxnYWxsZXJ5SWQ6MX07ZnVuY3Rpb24gcih0LGUpe2lmKHRoaXMuZWw9dCx0aGlzLnM9aSh7fSxvLGUpLHRoaXMucy5keW5hbWljJiYidW5kZWZpbmVkIiE9PXRoaXMucy5keW5hbWljRWwmJnRoaXMucy5keW5hbWljRWwuY29uc3RydWN0b3I9PT1BcnJheSYmIXRoaXMucy5keW5hbWljRWwubGVuZ3RoKXRocm93IldoZW4gdXNpbmcgZHluYW1pYyBtb2RlLCB5b3UgbXVzdCBhbHNvIGRlZmluZSBkeW5hbWljRWwgYXMgYW4gQXJyYXkuIjtyZXR1cm4gdGhpcy5tb2R1bGVzPXt9LHRoaXMubEdhbGxlcnlPbj0hMSx0aGlzLmxnQnVzeT0hMSx0aGlzLmhpZGVCYXJ0aW1lb3V0PSExLHRoaXMuaXNUb3VjaD0ib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLnMuc2xpZGVFbmRBbmltYXRvaW4mJih0aGlzLnMuaGlkZUNvbnRyb2xPbkVuZD0hMSksdGhpcy5pdGVtcz1bXSx0aGlzLnMuZHluYW1pYz90aGlzLml0ZW1zPXRoaXMucy5keW5hbWljRWw6InRoaXMiPT09dGhpcy5zLnNlbGVjdG9yP3RoaXMuaXRlbXMucHVzaCh0aGlzLmVsKToiIiE9PXRoaXMucy5zZWxlY3Rvcj90aGlzLnMuc2VsZWN0V2l0aGluP3RoaXMuaXRlbXM9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLnMuc2VsZWN0V2l0aGluKS5xdWVyeVNlbGVjdG9yQWxsKHRoaXMucy5zZWxlY3Rvcik6dGhpcy5pdGVtcz10aGlzLmVsLnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5zLnNlbGVjdG9yKTp0aGlzLml0ZW1zPXRoaXMuZWwuY2hpbGRyZW4sdGhpcy5fX19zbGlkZT0iIix0aGlzLm91dGVyPSIiLHRoaXMuaW5pdCgpLHRoaXN9ci5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dC5zLnByZWxvYWQ+dC5pdGVtcy5sZW5ndGgmJih0LnMucHJlbG9hZD10Lml0ZW1zLmxlbmd0aCk7dmFyIGU9d2luZG93LmxvY2F0aW9uLmhhc2g7aWYoZS5pbmRleE9mKCJsZz0iK3RoaXMucy5nYWxsZXJ5SWQpPjAmJih0LmluZGV4PXBhcnNlSW50KGUuc3BsaXQoIiZzbGlkZT0iKVsxXSwxMCksbi5kZWZhdWx0LmFkZENsYXNzKGRvY3VtZW50LmJvZHksImxnLWZyb20taGFzaCIpLG4uZGVmYXVsdC5oYXNDbGFzcyhkb2N1bWVudC5ib2R5LCJsZy1vbiIpfHwobi5kZWZhdWx0LmFkZENsYXNzKGRvY3VtZW50LmJvZHksImxnLW9uIiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0LmJ1aWxkKHQuaW5kZXgpfSkpKSksdC5zLmR5bmFtaWMpbi5kZWZhdWx0LnRyaWdnZXIodGhpcy5lbCwib25CZWZvcmVPcGVuIiksdC5pbmRleD10LnMuaW5kZXh8fDAsbi5kZWZhdWx0Lmhhc0NsYXNzKGRvY3VtZW50LmJvZHksImxnLW9uIil8fChuLmRlZmF1bHQuYWRkQ2xhc3MoZG9jdW1lbnQuYm9keSwibGctb24iKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuYnVpbGQodC5pbmRleCl9KSkpO2Vsc2UgZm9yKHZhciBpPTA7aTx0Lml0ZW1zLmxlbmd0aDtpKyspIWZ1bmN0aW9uKGUpe24uZGVmYXVsdC5vbih0Lml0ZW1zW2VdLCJjbGljay5sZ2N1c3RvbSIsKGZ1bmN0aW9uKGkpe2kucHJldmVudERlZmF1bHQoKSxuLmRlZmF1bHQudHJpZ2dlcih0LmVsLCJvbkJlZm9yZU9wZW4iKSx0LmluZGV4PXQucy5pbmRleHx8ZSxuLmRlZmF1bHQuaGFzQ2xhc3MoZG9jdW1lbnQuYm9keSwibGctb24iKXx8KHQuYnVpbGQodC5pbmRleCksbi5kZWZhdWx0LmFkZENsYXNzKGRvY3VtZW50LmJvZHksImxnLW9uIikpfSkpfShpKX0sci5wcm90b3R5cGUuYnVpbGQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztmb3IodmFyIGkgaW4gZS5zdHJ1Y3R1cmUoKSx3aW5kb3cubGdNb2R1bGVzKWUubW9kdWxlc1tpXT1uZXcgd2luZG93LmxnTW9kdWxlc1tpXShlLmVsKTtlLnNsaWRlKHQsITEsITEpLGUucy5rZXlQcmVzcyYmZS5rZXlQcmVzcygpLGUuaXRlbXMubGVuZ3RoPjEmJihlLmFycm93KCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlLmVuYWJsZURyYWcoKSxlLmVuYWJsZVN3aXBlKCl9KSw1MCksZS5zLm1vdXNld2hlZWwmJmUubW91c2V3aGVlbCgpKSxlLmNvdW50ZXIoKSxlLmNsb3NlR2FsbGVyeSgpLG4uZGVmYXVsdC50cmlnZ2VyKGUuZWwsIm9uQWZ0ZXJPcGVuIiksbi5kZWZhdWx0Lm9uKGUub3V0ZXIsIm1vdXNlbW92ZS5sZyBjbGljay5sZyB0b3VjaHN0YXJ0LmxnIiwoZnVuY3Rpb24oKXtuLmRlZmF1bHQucmVtb3ZlQ2xhc3MoZS5vdXRlciwibGctaGlkZS1pdGVtcyIpLGNsZWFyVGltZW91dChlLmhpZGVCYXJ0aW1lb3V0KSxlLmhpZGVCYXJ0aW1lb3V0PXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bi5kZWZhdWx0LmFkZENsYXNzKGUub3V0ZXIsImxnLWhpZGUtaXRlbXMiKX0pLGUucy5oaWRlQmFyc0RlbGF5KX0pKX0sci5wcm90b3R5cGUuc3RydWN0dXJlPWZ1bmN0aW9uKCl7dmFyIHQsZT0iIixpPSIiLG89MCxyPSIiLHM9dGhpcztmb3IoZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWVuZCIsJzxkaXYgY2xhc3M9ImxnLWJhY2tkcm9wIj48L2Rpdj4nKSxuLmRlZmF1bHQuc2V0VmVuZG9yKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5sZy1iYWNrZHJvcCIpLCJUcmFuc2l0aW9uRHVyYXRpb24iLHRoaXMucy5iYWNrZHJvcER1cmF0aW9uKyJtcyIpLG89MDtvPHRoaXMuaXRlbXMubGVuZ3RoO28rKyllKz0nPGRpdiBjbGFzcz0ibGctaXRlbSI+PC9kaXY+JztpZih0aGlzLnMuY29udHJvbHMmJnRoaXMuaXRlbXMubGVuZ3RoPjEmJihpPSc8ZGl2IGNsYXNzPSJsZy1hY3Rpb25zIj48YnV0dG9uIGFyaWEtbGFiZWw9IlByZXZpb3VzIHNsaWRlIiBjbGFzcz0ibGctcHJldiBsZy1pY29uIj4nK3RoaXMucy5wcmV2SHRtbCsnPC9idXR0b24+PGJ1dHRvbiBhcmlhLWxhYmVsPSJOZXh0IHNsaWRlIiBjbGFzcz0ibGctbmV4dCBsZy1pY29uIj4nK3RoaXMucy5uZXh0SHRtbCsiPC9idXR0b24+PC9kaXY+IiksIi5sZy1zdWItaHRtbCI9PT10aGlzLnMuYXBwZW5kU3ViSHRtbFRvJiYocj0nPGRpdiByb2xlPSJzdGF0dXMiIGFyaWEtbGl2ZT0icG9saXRlIiBjbGFzcz0ibGctc3ViLWh0bWwiPjwvZGl2PicpLHQ9JzxkaXYgdGFiaW5kZXg9Ii0xIiBhcmlhLW1vZGFsPSJ0cnVlIiAnKyh0aGlzLnMuYXJpYUxhYmVsbGVkYnk/J2FyaWEtbGFiZWxsZWRieT0iJyt0aGlzLnMuYXJpYUxhYmVsbGVkYnkrJyInOiIiKSsiICIrKHRoaXMucy5hcmlhRGVzY3JpYmVkYnk/J2FyaWEtZGVzY3JpYmVkYnk9IicrdGhpcy5zLmFyaWFEZXNjcmliZWRieSsnIic6IiIpKycgcm9sZT0iZGlhbG9nIiBjbGFzcz0ibGctb3V0ZXIgJyt0aGlzLnMuYWRkQ2xhc3MrIiAiK3RoaXMucy5zdGFydENsYXNzKyciPjxkaXYgY2xhc3M9ImxnIiBzdHlsZT0id2lkdGg6Jyt0aGlzLnMud2lkdGgrIjsgaGVpZ2h0OiIrdGhpcy5zLmhlaWdodCsnIj48ZGl2IGNsYXNzPSJsZy1pbm5lciI+JytlKyc8L2Rpdj48ZGl2IGNsYXNzPSJsZy10b29sYmFyIGdyb3VwIj48YnV0dG9uIGFyaWEtbGFiZWw9IkNsb3NlIGdhbGxlcnkiIGNsYXNzPSJsZy1jbG9zZSBsZy1pY29uIj48L2J1dHRvbj48L2Rpdj4nK2krcisiPC9kaXY+PC9kaXY+Iixkb2N1bWVudC5ib2R5Lmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIix0KSx0aGlzLm91dGVyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5sZy1vdXRlciIpLHRoaXMub3V0ZXIuZm9jdXMoKSx0aGlzLl9fX3NsaWRlPXRoaXMub3V0ZXIucXVlcnlTZWxlY3RvckFsbCgiLmxnLWl0ZW0iKSx0aGlzLnMudXNlTGVmdD8obi5kZWZhdWx0LmFkZENsYXNzKHRoaXMub3V0ZXIsImxnLXVzZS1sZWZ0IiksdGhpcy5zLm1vZGU9ImxnLXNsaWRlIik6bi5kZWZhdWx0LmFkZENsYXNzKHRoaXMub3V0ZXIsImxnLXVzZS1jc3MzIikscy5zZXRUb3AoKSxuLmRlZmF1bHQub24od2luZG93LCJyZXNpemUubGcgb3JpZW50YXRpb25jaGFuZ2UubGciLChmdW5jdGlvbigpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cy5zZXRUb3AoKX0pLDEwMCl9KSksbi5kZWZhdWx0LmFkZENsYXNzKHRoaXMuX19fc2xpZGVbdGhpcy5pbmRleF0sImxnLWN1cnJlbnQiKSx0aGlzLmRvQ3NzKCk/bi5kZWZhdWx0LmFkZENsYXNzKHRoaXMub3V0ZXIsImxnLWNzczMiKToobi5kZWZhdWx0LmFkZENsYXNzKHRoaXMub3V0ZXIsImxnLWNzcyIpLHRoaXMucy5zcGVlZD0wKSxuLmRlZmF1bHQuYWRkQ2xhc3ModGhpcy5vdXRlcix0aGlzLnMubW9kZSksdGhpcy5zLmVuYWJsZURyYWcmJnRoaXMuaXRlbXMubGVuZ3RoPjEmJm4uZGVmYXVsdC5hZGRDbGFzcyh0aGlzLm91dGVyLCJsZy1ncmFiIiksdGhpcy5zLnNob3dBZnRlckxvYWQmJm4uZGVmYXVsdC5hZGRDbGFzcyh0aGlzLm91dGVyLCJsZy1zaG93LWFmdGVyLWxvYWQiKSx0aGlzLmRvQ3NzKCkpe3ZhciBhPXRoaXMub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnLWlubmVyIik7bi5kZWZhdWx0LnNldFZlbmRvcihhLCJUcmFuc2l0aW9uVGltaW5nRnVuY3Rpb24iLHRoaXMucy5jc3NFYXNpbmcpLG4uZGVmYXVsdC5zZXRWZW5kb3IoYSwiVHJhbnNpdGlvbkR1cmF0aW9uIix0aGlzLnMuc3BlZWQrIm1zIil9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtuLmRlZmF1bHQuYWRkQ2xhc3MoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmxnLWJhY2tkcm9wIiksImluIil9KSksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtuLmRlZmF1bHQuYWRkQ2xhc3Mocy5vdXRlciwibGctdmlzaWJsZSIpfSksdGhpcy5zLmJhY2tkcm9wRHVyYXRpb24pLHRoaXMucy5kb3dubG9hZCYmdGhpcy5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctdG9vbGJhciIpLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIiwnPGEgaWQ9ImxnLWRvd25sb2FkIiBhcmlhLWxhYmVsPSJEb3dubG9hZCIgdGFyZ2V0PSJfYmxhbmsiIGRvd25sb2FkIGNsYXNzPSJsZy1kb3dubG9hZCBsZy1pY29uIj48L2E+JyksdGhpcy5wcmV2U2Nyb2xsVG9wPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wfSxyLnByb3RvdHlwZS5zZXRUb3A9ZnVuY3Rpb24oKXtpZigiMTAwJSIhPT10aGlzLnMuaGVpZ2h0KXt2YXIgdD13aW5kb3cuaW5uZXJIZWlnaHQsZT0odC1wYXJzZUludCh0aGlzLnMuaGVpZ2h0LDEwKSkvMixuPXRoaXMub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnIik7dD49cGFyc2VJbnQodGhpcy5zLmhlaWdodCwxMCk/bi5zdHlsZS50b3A9ZSsicHgiOm4uc3R5bGUudG9wPSIwcHgifX0sci5wcm90b3R5cGUuZG9Dc3M9ZnVuY3Rpb24oKXtyZXR1cm4hIWZ1bmN0aW9uKCl7dmFyIHQ9WyJ0cmFuc2l0aW9uIiwiTW96VHJhbnNpdGlvbiIsIldlYmtpdFRyYW5zaXRpb24iLCJPVHJhbnNpdGlvbiIsIm1zVHJhbnNpdGlvbiIsIktodG1sVHJhbnNpdGlvbiJdLGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG49MDtmb3Iobj0wO248dC5sZW5ndGg7bisrKWlmKHRbbl1pbiBlLnN0eWxlKXJldHVybiEwfSgpfSxyLnByb3RvdHlwZS5pc1ZpZGVvPWZ1bmN0aW9uKHQsZSl7dmFyIG47aWYobj10aGlzLnMuZHluYW1pYz90aGlzLnMuZHluYW1pY0VsW2VdLmh0bWw6dGhpcy5pdGVtc1tlXS5nZXRBdHRyaWJ1dGUoImRhdGEtaHRtbCIpLCF0JiZuKXJldHVybntodG1sNTohMH07dmFyIGk9dC5tYXRjaCgvXC9cLyg/Ond3d1wuKT95b3V0dSg/OlwuYmV8YmVcLmNvbXxiZS1ub2Nvb2tpZVwuY29tKVwvKD86d2F0Y2hcP3Y9fGVtYmVkXC8pPyhbYS16MC05XC1cX1wlXSspL2kpLG89dC5tYXRjaCgvXC9cLyg/Ond3d1wuKT92aW1lby5jb21cLyhbMC05YS16XC1fXSspL2kpLHI9dC5tYXRjaCgvXC9cLyg/Ond3d1wuKT9kYWkubHlcLyhbMC05YS16XC1fXSspL2kpLHM9dC5tYXRjaCgvXC9cLyg/Ond3d1wuKT8oPzp2a1wuY29tfHZrb250YWt0ZVwucnUpXC8oPzp2aWRlb19leHRcLnBocFw/KSguKikvaSk7cmV0dXJuIGk/e3lvdXR1YmU6aX06bz97dmltZW86b306cj97ZGFpbHltb3Rpb246cn06cz97dms6c306dm9pZCAwfSxyLnByb3RvdHlwZS5jb3VudGVyPWZ1bmN0aW9uKCl7dGhpcy5zLmNvdW50ZXImJnRoaXMub3V0ZXIucXVlcnlTZWxlY3Rvcih0aGlzLnMuYXBwZW5kQ291bnRlclRvKS5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWVuZCIsJzxkaXYgaWQ9ImxnLWNvdW50ZXIiIHJvbGU9InN0YXR1cyIgYXJpYS1saXZlPSJwb2xpdGUiPjxzcGFuIGlkPSJsZy1jb3VudGVyLWN1cnJlbnQiPicrKHBhcnNlSW50KHRoaXMuaW5kZXgsMTApKzEpKyc8L3NwYW4+IC8gPHNwYW4gaWQ9ImxnLWNvdW50ZXItYWxsIj4nK3RoaXMuaXRlbXMubGVuZ3RoKyI8L3NwYW4+PC9kaXY+Iil9LHIucHJvdG90eXBlLmFkZEh0bWw9ZnVuY3Rpb24odCl7dmFyIGUsaT1udWxsO2lmKHRoaXMucy5keW5hbWljP2k9dGhpcy5zLmR5bmFtaWNFbFt0XS5zdWJIdG1sOihpPShlPXRoaXMuaXRlbXNbdF0pLmdldEF0dHJpYnV0ZSgiZGF0YS1zdWItaHRtbCIpLHRoaXMucy5nZXRDYXB0aW9uRnJvbVRpdGxlT3JBbHQmJiFpJiYoaT1lLmdldEF0dHJpYnV0ZSgidGl0bGUiKSkmJmUucXVlcnlTZWxlY3RvcigiaW1nIikmJihpPWUucXVlcnlTZWxlY3RvcigiaW1nIikuZ2V0QXR0cmlidXRlKCJhbHQiKSkpLG51bGwhPWkpe3ZhciBvPWkuc3Vic3RyaW5nKDAsMSk7Ii4iIT09byYmIiMiIT09b3x8KGk9dGhpcy5zLnN1Ykh0bWxTZWxlY3RvclJlbGF0aXZlJiYhdGhpcy5zLmR5bmFtaWM/ZS5xdWVyeVNlbGVjdG9yKGkpLmlubmVySFRNTDpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGkpLmlubmVySFRNTCl9ZWxzZSBpPSIiOyIubGctc3ViLWh0bWwiPT09dGhpcy5zLmFwcGVuZFN1Ykh0bWxUbz90aGlzLm91dGVyLnF1ZXJ5U2VsZWN0b3IodGhpcy5zLmFwcGVuZFN1Ykh0bWxUbykuaW5uZXJIVE1MPWk6dGhpcy5fX19zbGlkZVt0XS5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWVuZCIsaSksbnVsbCE9aSYmKCIiPT09aT9uLmRlZmF1bHQuYWRkQ2xhc3ModGhpcy5vdXRlci5xdWVyeVNlbGVjdG9yKHRoaXMucy5hcHBlbmRTdWJIdG1sVG8pLCJsZy1lbXB0eS1odG1sIik6bi5kZWZhdWx0LnJlbW92ZUNsYXNzKHRoaXMub3V0ZXIucXVlcnlTZWxlY3Rvcih0aGlzLnMuYXBwZW5kU3ViSHRtbFRvKSwibGctZW1wdHktaHRtbCIpKSxuLmRlZmF1bHQudHJpZ2dlcih0aGlzLmVsLCJvbkFmdGVyQXBwZW5kU3ViSHRtbCIse2luZGV4OnR9KX0sci5wcm90b3R5cGUucHJlbG9hZD1mdW5jdGlvbih0KXt2YXIgZT0xLG49MTtmb3IoZT0xO2U8PXRoaXMucy5wcmVsb2FkJiYhKGU+PXRoaXMuaXRlbXMubGVuZ3RoLXQpO2UrKyl0aGlzLmxvYWRDb250ZW50KHQrZSwhMSwwKTtmb3Iobj0xO248PXRoaXMucy5wcmVsb2FkJiYhKHQtbjwwKTtuKyspdGhpcy5sb2FkQ29udGVudCh0LW4sITEsMCl9LHIucHJvdG90eXBlLmxvYWRDb250ZW50PWZ1bmN0aW9uKHQsZSxpKXt2YXIgbyxyLHMsYSxsLGMsdSxkPXRoaXMsZj0hMSxoPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPVtdLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG89dFtpXS5zcGxpdCgiICIpOyIiPT09b1swXSYmby5zcGxpY2UoMCwxKSxuLnB1c2gob1swXSksZS5wdXNoKG9bMV0pfWZvcih2YXIgcz13aW5kb3cuaW5uZXJXaWR0aCxhPTA7YTxlLmxlbmd0aDthKyspaWYocGFyc2VJbnQoZVthXSwxMCk+cyl7cj1uW2FdO2JyZWFrfX07aWYoZC5zLmR5bmFtaWMpe2lmKGQucy5keW5hbWljRWxbdF0ucG9zdGVyJiYoZj0hMCxzPWQucy5keW5hbWljRWxbdF0ucG9zdGVyKSxjPWQucy5keW5hbWljRWxbdF0uaHRtbCxyPWQucy5keW5hbWljRWxbdF0uc3JjLHU9ZC5zLmR5bmFtaWNFbFt0XS5hbHQsZC5zLmR5bmFtaWNFbFt0XS5yZXNwb25zaXZlKWgoZC5zLmR5bmFtaWNFbFt0XS5yZXNwb25zaXZlLnNwbGl0KCIsIikpO2E9ZC5zLmR5bmFtaWNFbFt0XS5zcmNzZXQsbD1kLnMuZHluYW1pY0VsW3RdLnNpemVzfWVsc2V7aWYoZC5pdGVtc1t0XS5nZXRBdHRyaWJ1dGUoImRhdGEtcG9zdGVyIikmJihmPSEwLHM9ZC5pdGVtc1t0XS5nZXRBdHRyaWJ1dGUoImRhdGEtcG9zdGVyIikpLGM9ZC5pdGVtc1t0XS5nZXRBdHRyaWJ1dGUoImRhdGEtaHRtbCIpLHI9ZC5pdGVtc1t0XS5nZXRBdHRyaWJ1dGUoImhyZWYiKXx8ZC5pdGVtc1t0XS5nZXRBdHRyaWJ1dGUoImRhdGEtc3JjIiksdT1kLml0ZW1zW3RdLmdldEF0dHJpYnV0ZSgidGl0bGUiKSxkLml0ZW1zW3RdLnF1ZXJ5U2VsZWN0b3IoImltZyIpJiYodT11fHxkLml0ZW1zW3RdLnF1ZXJ5U2VsZWN0b3IoImltZyIpLmdldEF0dHJpYnV0ZSgiYWx0IikpLGQuaXRlbXNbdF0uZ2V0QXR0cmlidXRlKCJkYXRhLXJlc3BvbnNpdmUiKSloKGQuaXRlbXNbdF0uZ2V0QXR0cmlidXRlKCJkYXRhLXJlc3BvbnNpdmUiKS5zcGxpdCgiLCIpKTthPWQuaXRlbXNbdF0uZ2V0QXR0cmlidXRlKCJkYXRhLXNyY3NldCIpLGw9ZC5pdGVtc1t0XS5nZXRBdHRyaWJ1dGUoImRhdGEtc2l6ZXMiKX12YXIgcD0hMTtkLnMuZHluYW1pYz9kLnMuZHluYW1pY0VsW3RdLmlmcmFtZSYmKHA9ITApOiJ0cnVlIj09PWQuaXRlbXNbdF0uZ2V0QXR0cmlidXRlKCJkYXRhLWlmcmFtZSIpJiYocD0hMCk7dmFyIG09ZC5pc1ZpZGVvKHIsdCk7aWYoIW4uZGVmYXVsdC5oYXNDbGFzcyhkLl9fX3NsaWRlW3RdLCJsZy1sb2FkZWQiKSl7aWYocClkLl9fX3NsaWRlW3RdLmluc2VydEFkamFjZW50SFRNTCgiYWZ0ZXJiZWdpbiIsJzxkaXYgY2xhc3M9ImxnLXZpZGVvLWNvbnQiIHN0eWxlPSJtYXgtd2lkdGg6JytkLnMuaWZyYW1lTWF4V2lkdGgrJyI+PGRpdiBjbGFzcz0ibGctdmlkZW8iPjxpZnJhbWUgY2xhc3M9ImxnLW9iamVjdCIgZnJhbWVib3JkZXI9IjAiIHNyYz0iJytyKyciICBhbGxvd2Z1bGxzY3JlZW49InRydWUiPjwvaWZyYW1lPjwvZGl2PjwvZGl2PicpO2Vsc2UgaWYoZil7dmFyIGc9IiI7Zz1tJiZtLnlvdXR1YmU/ImxnLWhhcy15b3V0dWJlIjptJiZtLnZpbWVvPyJsZy1oYXMtdmltZW8iOiJsZy1oYXMtaHRtbDUiLGQuX19fc2xpZGVbdF0uaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLCc8ZGl2IGNsYXNzPSJsZy12aWRlby1jb250ICcrZysnICI+PGRpdiBjbGFzcz0ibGctdmlkZW8iPjxzcGFuIGNsYXNzPSJsZy12aWRlby1wbGF5Ij48L3NwYW4+PGltZyBjbGFzcz0ibGctb2JqZWN0IGxnLWhhcy1wb3N0ZXIiIHNyYz0iJytzKyciIC8+PC9kaXY+PC9kaXY+Jyl9ZWxzZSBtPyhkLl9fX3NsaWRlW3RdLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIiwnPGRpdiBjbGFzcz0ibGctdmlkZW8tY29udCAiPjxkaXYgY2xhc3M9ImxnLXZpZGVvIj48L2Rpdj48L2Rpdj4nKSxuLmRlZmF1bHQudHJpZ2dlcihkLmVsLCJoYXNWaWRlbyIse2luZGV4OnQsc3JjOnIsaHRtbDpjfSkpOih1PXU/J2FsdD0iJyt1KyciJzoiIixkLl9fX3NsaWRlW3RdLmluc2VydEFkamFjZW50SFRNTCgiYmVmb3JlZW5kIiwnPGRpdiBjbGFzcz0ibGctaW1nLXdyYXAiPjxpbWcgY2xhc3M9ImxnLW9iamVjdCBsZy1pbWFnZSIgJyt1Kycgc3JjPSInK3IrJyIgLz48L2Rpdj4nKSk7aWYobi5kZWZhdWx0LnRyaWdnZXIoZC5lbCwib25BZmVyQXBwZW5kU2xpZGUiLHtpbmRleDp0fSksbz1kLl9fX3NsaWRlW3RdLnF1ZXJ5U2VsZWN0b3IoIi5sZy1vYmplY3QiKSxsJiZvLnNldEF0dHJpYnV0ZSgic2l6ZXMiLGwpLGEpe28uc2V0QXR0cmlidXRlKCJzcmNzZXQiLGEpO3RyeXtwaWN0dXJlZmlsbCh7ZWxlbWVudHM6W29bMF1dfSl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcigiTWFrZSBzdXJlIHlvdSBoYXZlIGluY2x1ZGVkIFBpY3R1cmVmaWxsIHZlcnNpb24gMiIpfX0iLmxnLXN1Yi1odG1sIiE9PXRoaXMucy5hcHBlbmRTdWJIdG1sVG8mJmQuYWRkSHRtbCh0KSxuLmRlZmF1bHQuYWRkQ2xhc3MoZC5fX19zbGlkZVt0XSwibGctbG9hZGVkIil9bi5kZWZhdWx0Lm9uKGQuX19fc2xpZGVbdF0ucXVlcnlTZWxlY3RvcigiLmxnLW9iamVjdCIpLCJsb2FkLmxnIGVycm9yLmxnIiwoZnVuY3Rpb24oKXt2YXIgZT0wO2kmJiFuLmRlZmF1bHQuaGFzQ2xhc3MoZG9jdW1lbnQuYm9keSwibGctZnJvbS1oYXNoIikmJihlPWkpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bi5kZWZhdWx0LmFkZENsYXNzKGQuX19fc2xpZGVbdF0sImxnLWNvbXBsZXRlIiksbi5kZWZhdWx0LnRyaWdnZXIoZC5lbCwib25TbGlkZUl0ZW1Mb2FkIix7aW5kZXg6dCxkZWxheTppfHwwfSl9KSxlKX0pKSxtJiZtLmh0bWw1JiYhZiYmbi5kZWZhdWx0LmFkZENsYXNzKGQuX19fc2xpZGVbdF0sImxnLWNvbXBsZXRlIiksITA9PT1lJiYobi5kZWZhdWx0Lmhhc0NsYXNzKGQuX19fc2xpZGVbdF0sImxnLWNvbXBsZXRlIik/ZC5wcmVsb2FkKHQpOm4uZGVmYXVsdC5vbihkLl9fX3NsaWRlW3RdLnF1ZXJ5U2VsZWN0b3IoIi5sZy1vYmplY3QiKSwibG9hZC5sZyBlcnJvci5sZyIsKGZ1bmN0aW9uKCl7ZC5wcmVsb2FkKHQpfSkpKX0sci5wcm90b3R5cGUuc2xpZGU9ZnVuY3Rpb24odCxlLGkpe2Zvcih2YXIgbz0wLHI9MDtyPHRoaXMuX19fc2xpZGUubGVuZ3RoO3IrKylpZihuLmRlZmF1bHQuaGFzQ2xhc3ModGhpcy5fX19zbGlkZVtyXSwibGctY3VycmVudCIpKXtvPXI7YnJlYWt9dmFyIHM9dGhpcztpZighcy5sR2FsbGVyeU9ufHxvIT09dCl7dmFyIGE9dGhpcy5fX19zbGlkZS5sZW5ndGgsbD1zLmxHYWxsZXJ5T24/dGhpcy5zLnNwZWVkOjAsYz0hMSx1PSExO2lmKCFzLmxnQnVzeSl7dmFyIGQ7aWYodGhpcy5zLmRvd25sb2FkKShkPXMucy5keW5hbWljPyExIT09cy5zLmR5bmFtaWNFbFt0XS5kb3dubG9hZFVybCYmKHMucy5keW5hbWljRWxbdF0uZG93bmxvYWRVcmx8fHMucy5keW5hbWljRWxbdF0uc3JjKToiZmFsc2UiIT09cy5pdGVtc1t0XS5nZXRBdHRyaWJ1dGUoImRhdGEtZG93bmxvYWQtdXJsIikmJihzLml0ZW1zW3RdLmdldEF0dHJpYnV0ZSgiZGF0YS1kb3dubG9hZC11cmwiKXx8cy5pdGVtc1t0XS5nZXRBdHRyaWJ1dGUoImhyZWYiKXx8cy5pdGVtc1t0XS5nZXRBdHRyaWJ1dGUoImRhdGEtc3JjIikpKT8oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxnLWRvd25sb2FkIikuc2V0QXR0cmlidXRlKCJocmVmIixkKSxuLmRlZmF1bHQucmVtb3ZlQ2xhc3Mocy5vdXRlciwibGctaGlkZS1kb3dubG9hZCIpKTpuLmRlZmF1bHQuYWRkQ2xhc3Mocy5vdXRlciwibGctaGlkZS1kb3dubG9hZCIpO2lmKG4uZGVmYXVsdC50cmlnZ2VyKHMuZWwsIm9uQmVmb3JlU2xpZGUiLHtwcmV2SW5kZXg6byxpbmRleDp0LGZyb21Ub3VjaDplLGZyb21UaHVtYjppfSkscy5sZ0J1c3k9ITAsY2xlYXJUaW1lb3V0KHMuaGlkZUJhcnRpbWVvdXQpLCIubGctc3ViLWh0bWwiPT09dGhpcy5zLmFwcGVuZFN1Ykh0bWxUbyYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXtzLmFkZEh0bWwodCl9KSxsKSx0aGlzLmFycm93RGlzYWJsZSh0KSxlKXt2YXIgZj10LTEsaD10KzE7KDA9PT10JiZvPT09YS0xfHx0PT09YS0xJiYwPT09bykmJihoPTAsZj1hLTEpLG4uZGVmYXVsdC5yZW1vdmVDbGFzcyhzLm91dGVyLnF1ZXJ5U2VsZWN0b3IoIi5sZy1wcmV2LXNsaWRlIiksImxnLXByZXYtc2xpZGUiKSxuLmRlZmF1bHQucmVtb3ZlQ2xhc3Mocy5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctY3VycmVudCIpLCJsZy1jdXJyZW50Iiksbi5kZWZhdWx0LnJlbW92ZUNsYXNzKHMub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnLW5leHQtc2xpZGUiKSwibGctbmV4dC1zbGlkZSIpLG4uZGVmYXVsdC5hZGRDbGFzcyhzLl9fX3NsaWRlW2ZdLCJsZy1wcmV2LXNsaWRlIiksbi5kZWZhdWx0LmFkZENsYXNzKHMuX19fc2xpZGVbaF0sImxnLW5leHQtc2xpZGUiKSxuLmRlZmF1bHQuYWRkQ2xhc3Mocy5fX19zbGlkZVt0XSwibGctY3VycmVudCIpfWVsc2V7bi5kZWZhdWx0LmFkZENsYXNzKHMub3V0ZXIsImxnLW5vLXRyYW5zIik7Zm9yKHZhciBwPTA7cDx0aGlzLl9fX3NsaWRlLmxlbmd0aDtwKyspbi5kZWZhdWx0LnJlbW92ZUNsYXNzKHRoaXMuX19fc2xpZGVbcF0sImxnLXByZXYtc2xpZGUiKSxuLmRlZmF1bHQucmVtb3ZlQ2xhc3ModGhpcy5fX19zbGlkZVtwXSwibGctbmV4dC1zbGlkZSIpO3Q8bz8odT0hMCwwIT09dHx8byE9PWEtMXx8aXx8KHU9ITEsYz0hMCkpOnQ+byYmKGM9ITAsdCE9PWEtMXx8MCE9PW98fGl8fCh1PSEwLGM9ITEpKSx1PyhuLmRlZmF1bHQuYWRkQ2xhc3ModGhpcy5fX19zbGlkZVt0XSwibGctcHJldi1zbGlkZSIpLG4uZGVmYXVsdC5hZGRDbGFzcyh0aGlzLl9fX3NsaWRlW29dLCJsZy1uZXh0LXNsaWRlIikpOmMmJihuLmRlZmF1bHQuYWRkQ2xhc3ModGhpcy5fX19zbGlkZVt0XSwibGctbmV4dC1zbGlkZSIpLG4uZGVmYXVsdC5hZGRDbGFzcyh0aGlzLl9fX3NsaWRlW29dLCJsZy1wcmV2LXNsaWRlIikpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bi5kZWZhdWx0LnJlbW92ZUNsYXNzKHMub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnLWN1cnJlbnQiKSwibGctY3VycmVudCIpLG4uZGVmYXVsdC5hZGRDbGFzcyhzLl9fX3NsaWRlW3RdLCJsZy1jdXJyZW50Iiksbi5kZWZhdWx0LnJlbW92ZUNsYXNzKHMub3V0ZXIsImxnLW5vLXRyYW5zIil9KSw1MCl9cy5sR2FsbGVyeU9uPyhzZXRUaW1lb3V0KChmdW5jdGlvbigpe3MubG9hZENvbnRlbnQodCwhMCwwKX0pLHRoaXMucy5zcGVlZCs1MCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtzLmxnQnVzeT0hMSxuLmRlZmF1bHQudHJpZ2dlcihzLmVsLCJvbkFmdGVyU2xpZGUiLHtwcmV2SW5kZXg6byxpbmRleDp0LGZyb21Ub3VjaDplLGZyb21UaHVtYjppfSl9KSx0aGlzLnMuc3BlZWQpKToocy5sb2FkQ29udGVudCh0LCEwLHMucy5iYWNrZHJvcER1cmF0aW9uKSxzLmxnQnVzeT0hMSxuLmRlZmF1bHQudHJpZ2dlcihzLmVsLCJvbkFmdGVyU2xpZGUiLHtwcmV2SW5kZXg6byxpbmRleDp0LGZyb21Ub3VjaDplLGZyb21UaHVtYjppfSkpLHMubEdhbGxlcnlPbj0hMCx0aGlzLnMuY291bnRlciYmZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxnLWNvdW50ZXItY3VycmVudCIpJiYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxnLWNvdW50ZXItY3VycmVudCIpLmlubmVySFRNTD10KzEpfX19LHIucHJvdG90eXBlLmdvVG9OZXh0U2xpZGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztlLmxnQnVzeXx8KGUuaW5kZXgrMTxlLl9fX3NsaWRlLmxlbmd0aD8oZS5pbmRleCsrLG4uZGVmYXVsdC50cmlnZ2VyKGUuZWwsIm9uQmVmb3JlTmV4dFNsaWRlIix7aW5kZXg6ZS5pbmRleH0pLGUuc2xpZGUoZS5pbmRleCx0LCExKSk6ZS5zLmxvb3A/KGUuaW5kZXg9MCxuLmRlZmF1bHQudHJpZ2dlcihlLmVsLCJvbkJlZm9yZU5leHRTbGlkZSIse2luZGV4OmUuaW5kZXh9KSxlLnNsaWRlKGUuaW5kZXgsdCwhMSkpOmUucy5zbGlkZUVuZEFuaW1hdG9pbiYmKG4uZGVmYXVsdC5hZGRDbGFzcyhlLm91dGVyLCJsZy1yaWdodC1lbmQiKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe24uZGVmYXVsdC5yZW1vdmVDbGFzcyhlLm91dGVyLCJsZy1yaWdodC1lbmQiKX0pLDQwMCkpKX0sci5wcm90b3R5cGUuZ29Ub1ByZXZTbGlkZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2UubGdCdXN5fHwoZS5pbmRleD4wPyhlLmluZGV4LS0sbi5kZWZhdWx0LnRyaWdnZXIoZS5lbCwib25CZWZvcmVQcmV2U2xpZGUiLHtpbmRleDplLmluZGV4LGZyb21Ub3VjaDp0fSksZS5zbGlkZShlLmluZGV4LHQsITEpKTplLnMubG9vcD8oZS5pbmRleD1lLml0ZW1zLmxlbmd0aC0xLG4uZGVmYXVsdC50cmlnZ2VyKGUuZWwsIm9uQmVmb3JlUHJldlNsaWRlIix7aW5kZXg6ZS5pbmRleCxmcm9tVG91Y2g6dH0pLGUuc2xpZGUoZS5pbmRleCx0LCExKSk6ZS5zLnNsaWRlRW5kQW5pbWF0b2luJiYobi5kZWZhdWx0LmFkZENsYXNzKGUub3V0ZXIsImxnLWxlZnQtZW5kIiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtuLmRlZmF1bHQucmVtb3ZlQ2xhc3MoZS5vdXRlciwibGctbGVmdC1lbmQiKX0pLDQwMCkpKX0sci5wcm90b3R5cGUua2V5UHJlc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuaXRlbXMubGVuZ3RoPjEmJm4uZGVmYXVsdC5vbih3aW5kb3csImtleXVwLmxnIiwoZnVuY3Rpb24oZSl7dC5pdGVtcy5sZW5ndGg+MSYmKDM3PT09ZS5rZXlDb2RlJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHQuZ29Ub1ByZXZTbGlkZSgpKSwzOT09PWUua2V5Q29kZSYmKGUucHJldmVudERlZmF1bHQoKSx0LmdvVG9OZXh0U2xpZGUoKSkpfSkpLG4uZGVmYXVsdC5vbih3aW5kb3csImtleWRvd24ubGciLChmdW5jdGlvbihlKXshMD09PXQucy5lc2NLZXkmJjI3PT09ZS5rZXlDb2RlJiYoZS5wcmV2ZW50RGVmYXVsdCgpLG4uZGVmYXVsdC5oYXNDbGFzcyh0Lm91dGVyLCJsZy10aHVtYi1vcGVuIik/bi5kZWZhdWx0LnJlbW92ZUNsYXNzKHQub3V0ZXIsImxnLXRodW1iLW9wZW4iKTp0LmRlc3Ryb3koKSl9KSl9LHIucHJvdG90eXBlLmFycm93PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztuLmRlZmF1bHQub24odGhpcy5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctcHJldiIpLCJjbGljay5sZyIsKGZ1bmN0aW9uKCl7dC5nb1RvUHJldlNsaWRlKCl9KSksbi5kZWZhdWx0Lm9uKHRoaXMub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnLW5leHQiKSwiY2xpY2subGciLChmdW5jdGlvbigpe3QuZ29Ub05leHRTbGlkZSgpfSkpfSxyLnByb3RvdHlwZS5hcnJvd0Rpc2FibGU9ZnVuY3Rpb24odCl7aWYoIXRoaXMucy5sb29wJiZ0aGlzLnMuaGlkZUNvbnRyb2xPbkVuZCl7dmFyIGU9dGhpcy5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctbmV4dCIpLGk9dGhpcy5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctcHJldiIpO3QrMTx0aGlzLl9fX3NsaWRlLmxlbmd0aD8oZS5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIiksbi5kZWZhdWx0LnJlbW92ZUNsYXNzKGUsImRpc2FibGVkIikpOihlLnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLCJkaXNhYmxlZCIpLG4uZGVmYXVsdC5hZGRDbGFzcyhlLCJkaXNhYmxlZCIpKSx0PjA/KGkucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpLG4uZGVmYXVsdC5yZW1vdmVDbGFzcyhpLCJkaXNhYmxlZCIpKTooaS5zZXRBdHRyaWJ1dGUoImRpc2FibGVkIiwiZGlzYWJsZWQiKSxuLmRlZmF1bHQuYWRkQ2xhc3MoaSwiZGlzYWJsZWQiKSl9fSxyLnByb3RvdHlwZS5zZXRUcmFuc2xhdGU9ZnVuY3Rpb24odCxlLGkpe3RoaXMucy51c2VMZWZ0P3Quc3R5bGUubGVmdD1lOm4uZGVmYXVsdC5zZXRWZW5kb3IodCwiVHJhbnNmb3JtIiwidHJhbnNsYXRlM2QoIitlKyJweCwgIitpKyJweCwgMHB4KSIpfSxyLnByb3RvdHlwZS50b3VjaE1vdmU9ZnVuY3Rpb24odCxlKXt2YXIgaT1lLXQ7TWF0aC5hYnMoaSk+MTUmJihuLmRlZmF1bHQuYWRkQ2xhc3ModGhpcy5vdXRlciwibGctZHJhZ2dpbmciKSx0aGlzLnNldFRyYW5zbGF0ZSh0aGlzLl9fX3NsaWRlW3RoaXMuaW5kZXhdLGksMCksdGhpcy5zZXRUcmFuc2xhdGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmxnLXByZXYtc2xpZGUiKSwtdGhpcy5fX19zbGlkZVt0aGlzLmluZGV4XS5jbGllbnRXaWR0aCtpLDApLHRoaXMuc2V0VHJhbnNsYXRlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5sZy1uZXh0LXNsaWRlIiksdGhpcy5fX19zbGlkZVt0aGlzLmluZGV4XS5jbGllbnRXaWR0aCtpLDApKX0sci5wcm90b3R5cGUudG91Y2hFbmQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpczsibGctc2xpZGUiIT09ZS5zLm1vZGUmJm4uZGVmYXVsdC5hZGRDbGFzcyhlLm91dGVyLCJsZy1zbGlkZSIpO2Zvcih2YXIgaT0wO2k8dGhpcy5fX19zbGlkZS5sZW5ndGg7aSsrKW4uZGVmYXVsdC5oYXNDbGFzcyh0aGlzLl9fX3NsaWRlW2ldLCJsZy1jdXJyZW50Iil8fG4uZGVmYXVsdC5oYXNDbGFzcyh0aGlzLl9fX3NsaWRlW2ldLCJsZy1wcmV2LXNsaWRlIil8fG4uZGVmYXVsdC5oYXNDbGFzcyh0aGlzLl9fX3NsaWRlW2ldLCJsZy1uZXh0LXNsaWRlIil8fCh0aGlzLl9fX3NsaWRlW2ldLnN0eWxlLm9wYWNpdHk9IjAiKTtzZXRUaW1lb3V0KChmdW5jdGlvbigpe24uZGVmYXVsdC5yZW1vdmVDbGFzcyhlLm91dGVyLCJsZy1kcmFnZ2luZyIpLHQ8MCYmTWF0aC5hYnModCk+ZS5zLnN3aXBlVGhyZXNob2xkP2UuZ29Ub05leHRTbGlkZSghMCk6dD4wJiZNYXRoLmFicyh0KT5lLnMuc3dpcGVUaHJlc2hvbGQ/ZS5nb1RvUHJldlNsaWRlKCEwKTpNYXRoLmFicyh0KTw1JiZuLmRlZmF1bHQudHJpZ2dlcihlLmVsLCJvblNsaWRlQ2xpY2siKTtmb3IodmFyIGk9MDtpPGUuX19fc2xpZGUubGVuZ3RoO2krKyllLl9fX3NsaWRlW2ldLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKX0pKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe24uZGVmYXVsdC5oYXNDbGFzcyhlLm91dGVyLCJsZy1kcmFnZ2luZyIpfHwibGctc2xpZGUiPT09ZS5zLm1vZGV8fG4uZGVmYXVsdC5yZW1vdmVDbGFzcyhlLm91dGVyLCJsZy1zbGlkZSIpfSksZS5zLnNwZWVkKzEwMCl9LHIucHJvdG90eXBlLmVuYWJsZVN3aXBlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPTAsaT0wLG89ITE7aWYodC5zLmVuYWJsZVN3aXBlJiZ0LmlzVG91Y2gmJnQuZG9Dc3MoKSl7Zm9yKHZhciByPTA7cjx0Ll9fX3NsaWRlLmxlbmd0aDtyKyspbi5kZWZhdWx0Lm9uKHQuX19fc2xpZGVbcl0sInRvdWNoc3RhcnQubGciLChmdW5jdGlvbihpKXtuLmRlZmF1bHQuaGFzQ2xhc3ModC5vdXRlciwibGctem9vbWVkIil8fHQubGdCdXN5fHwoaS5wcmV2ZW50RGVmYXVsdCgpLHQubWFuYWdlU3dpcGVDbGFzcygpLGU9aS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYKX0pKTtmb3IodmFyIHM9MDtzPHQuX19fc2xpZGUubGVuZ3RoO3MrKyluLmRlZmF1bHQub24odC5fX19zbGlkZVtzXSwidG91Y2htb3ZlLmxnIiwoZnVuY3Rpb24ocil7bi5kZWZhdWx0Lmhhc0NsYXNzKHQub3V0ZXIsImxnLXpvb21lZCIpfHwoci5wcmV2ZW50RGVmYXVsdCgpLGk9ci50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYLHQudG91Y2hNb3ZlKGUsaSksbz0hMCl9KSk7Zm9yKHZhciBhPTA7YTx0Ll9fX3NsaWRlLmxlbmd0aDthKyspbi5kZWZhdWx0Lm9uKHQuX19fc2xpZGVbYV0sInRvdWNoZW5kLmxnIiwoZnVuY3Rpb24oKXtuLmRlZmF1bHQuaGFzQ2xhc3ModC5vdXRlciwibGctem9vbWVkIil8fChvPyhvPSExLHQudG91Y2hFbmQoaS1lKSk6bi5kZWZhdWx0LnRyaWdnZXIodC5lbCwib25TbGlkZUNsaWNrIikpfSkpfX0sci5wcm90b3R5cGUuZW5hYmxlRHJhZz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT0wLGk9MCxvPSExLHI9ITE7aWYodC5zLmVuYWJsZURyYWcmJiF0LmlzVG91Y2gmJnQuZG9Dc3MoKSl7Zm9yKHZhciBzPTA7czx0Ll9fX3NsaWRlLmxlbmd0aDtzKyspbi5kZWZhdWx0Lm9uKHQuX19fc2xpZGVbc10sIm1vdXNlZG93bi5sZyIsKGZ1bmN0aW9uKGkpe24uZGVmYXVsdC5oYXNDbGFzcyh0Lm91dGVyLCJsZy16b29tZWQiKXx8KG4uZGVmYXVsdC5oYXNDbGFzcyhpLnRhcmdldCwibGctb2JqZWN0Iil8fG4uZGVmYXVsdC5oYXNDbGFzcyhpLnRhcmdldCwibGctdmlkZW8tcGxheSIpKSYmKGkucHJldmVudERlZmF1bHQoKSx0LmxnQnVzeXx8KHQubWFuYWdlU3dpcGVDbGFzcygpLGU9aS5wYWdlWCxvPSEwLHQub3V0ZXIuc2Nyb2xsTGVmdCs9MSx0Lm91dGVyLnNjcm9sbExlZnQtPTEsbi5kZWZhdWx0LnJlbW92ZUNsYXNzKHQub3V0ZXIsImxnLWdyYWIiKSxuLmRlZmF1bHQuYWRkQ2xhc3ModC5vdXRlciwibGctZ3JhYmJpbmciKSxuLmRlZmF1bHQudHJpZ2dlcih0LmVsLCJvbkRyYWdzdGFydCIpKSl9KSk7bi5kZWZhdWx0Lm9uKHdpbmRvdywibW91c2Vtb3ZlLmxnIiwoZnVuY3Rpb24ocyl7byYmKHI9ITAsaT1zLnBhZ2VYLHQudG91Y2hNb3ZlKGUsaSksbi5kZWZhdWx0LnRyaWdnZXIodC5lbCwib25EcmFnbW92ZSIpKX0pKSxuLmRlZmF1bHQub24od2luZG93LCJtb3VzZXVwLmxnIiwoZnVuY3Rpb24ocyl7cj8ocj0hMSx0LnRvdWNoRW5kKGktZSksbi5kZWZhdWx0LnRyaWdnZXIodC5lbCwib25EcmFnZW5kIikpOihuLmRlZmF1bHQuaGFzQ2xhc3Mocy50YXJnZXQsImxnLW9iamVjdCIpfHxuLmRlZmF1bHQuaGFzQ2xhc3Mocy50YXJnZXQsImxnLXZpZGVvLXBsYXkiKSkmJm4uZGVmYXVsdC50cmlnZ2VyKHQuZWwsIm9uU2xpZGVDbGljayIpLG8mJihvPSExLG4uZGVmYXVsdC5yZW1vdmVDbGFzcyh0Lm91dGVyLCJsZy1ncmFiYmluZyIpLG4uZGVmYXVsdC5hZGRDbGFzcyh0Lm91dGVyLCJsZy1ncmFiIikpfSkpfX0sci5wcm90b3R5cGUubWFuYWdlU3dpcGVDbGFzcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuaW5kZXgrMSxlPXRoaXMuaW5kZXgtMSxpPXRoaXMuX19fc2xpZGUubGVuZ3RoO3RoaXMucy5sb29wJiYoMD09PXRoaXMuaW5kZXg/ZT1pLTE6dGhpcy5pbmRleD09PWktMSYmKHQ9MCkpO2Zvcih2YXIgbz0wO288dGhpcy5fX19zbGlkZS5sZW5ndGg7bysrKW4uZGVmYXVsdC5yZW1vdmVDbGFzcyh0aGlzLl9fX3NsaWRlW29dLCJsZy1uZXh0LXNsaWRlIiksbi5kZWZhdWx0LnJlbW92ZUNsYXNzKHRoaXMuX19fc2xpZGVbb10sImxnLXByZXYtc2xpZGUiKTtlPi0xJiZuLmRlZmF1bHQuYWRkQ2xhc3ModGhpcy5fX19zbGlkZVtlXSwibGctcHJldi1zbGlkZSIpLG4uZGVmYXVsdC5hZGRDbGFzcyh0aGlzLl9fX3NsaWRlW3RdLCJsZy1uZXh0LXNsaWRlIil9LHIucHJvdG90eXBlLm1vdXNld2hlZWw9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO24uZGVmYXVsdC5vbih0Lm91dGVyLCJtb3VzZXdoZWVsLmxnIiwoZnVuY3Rpb24oZSl7ZS5kZWx0YVkmJihlLmRlbHRhWT4wP3QuZ29Ub1ByZXZTbGlkZSgpOnQuZ29Ub05leHRTbGlkZSgpLGUucHJldmVudERlZmF1bHQoKSl9KSl9LHIucHJvdG90eXBlLmNsb3NlR2FsbGVyeT1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT0hMTtuLmRlZmF1bHQub24odGhpcy5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctY2xvc2UiKSwiY2xpY2subGciLChmdW5jdGlvbigpe3QuZGVzdHJveSgpfSkpLHQucy5jbG9zYWJsZSYmKG4uZGVmYXVsdC5vbih0Lm91dGVyLCJtb3VzZWRvd24ubGciLChmdW5jdGlvbih0KXtlPSEhKG4uZGVmYXVsdC5oYXNDbGFzcyh0LnRhcmdldCwibGctb3V0ZXIiKXx8bi5kZWZhdWx0Lmhhc0NsYXNzKHQudGFyZ2V0LCJsZy1pdGVtIil8fG4uZGVmYXVsdC5oYXNDbGFzcyh0LnRhcmdldCwibGctaW1nLXdyYXAiKSl9KSksbi5kZWZhdWx0Lm9uKHQub3V0ZXIsIm1vdXNldXAubGciLChmdW5jdGlvbihpKXsobi5kZWZhdWx0Lmhhc0NsYXNzKGkudGFyZ2V0LCJsZy1vdXRlciIpfHxuLmRlZmF1bHQuaGFzQ2xhc3MoaS50YXJnZXQsImxnLWl0ZW0iKXx8bi5kZWZhdWx0Lmhhc0NsYXNzKGkudGFyZ2V0LCJsZy1pbWctd3JhcCIpJiZlKSYmKG4uZGVmYXVsdC5oYXNDbGFzcyh0Lm91dGVyLCJsZy1kcmFnZ2luZyIpfHx0LmRlc3Ryb3koKSl9KSkpfSxyLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYodHx8bi5kZWZhdWx0LnRyaWdnZXIoZS5lbCwib25CZWZvcmVDbG9zZSIpLGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wPWUucHJldlNjcm9sbFRvcCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wPWUucHJldlNjcm9sbFRvcCx0KXtpZighZS5zLmR5bmFtaWMpZm9yKHZhciBpPTA7aTx0aGlzLml0ZW1zLmxlbmd0aDtpKyspbi5kZWZhdWx0Lm9mZih0aGlzLml0ZW1zW2ldLCIubGciKSxuLmRlZmF1bHQub2ZmKHRoaXMuaXRlbXNbaV0sIi5sZ2N1c3RvbSIpO3ZhciBvPWUuZWwuZ2V0QXR0cmlidXRlKCJsZy11aWQiKTtkZWxldGUgd2luZG93LmxnRGF0YVtvXSxlLmVsLnJlbW92ZUF0dHJpYnV0ZSgibGctdWlkIil9Zm9yKHZhciByIGluIG4uZGVmYXVsdC5vZmYodGhpcy5lbCwiLmxndG0iKSx3aW5kb3cubGdNb2R1bGVzKWUubW9kdWxlc1tyXSYmZS5tb2R1bGVzW3JdLmRlc3Ryb3kodCk7dGhpcy5sR2FsbGVyeU9uPSExLGNsZWFyVGltZW91dChlLmhpZGVCYXJ0aW1lb3V0KSx0aGlzLmhpZGVCYXJ0aW1lb3V0PSExLG4uZGVmYXVsdC5vZmYod2luZG93LCIubGciKSxuLmRlZmF1bHQucmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwibGctb24iKSxuLmRlZmF1bHQucmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwibGctZnJvbS1oYXNoIiksZS5vdXRlciYmbi5kZWZhdWx0LnJlbW92ZUNsYXNzKGUub3V0ZXIsImxnLXZpc2libGUiKSxuLmRlZmF1bHQucmVtb3ZlQ2xhc3MoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmxnLWJhY2tkcm9wIiksImluIiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0cnl7ZS5vdXRlciYmZS5vdXRlci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUub3V0ZXIpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5sZy1iYWNrZHJvcCIpJiZkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubGctYmFja2Ryb3AiKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5sZy1iYWNrZHJvcCIpKSx0fHxuLmRlZmF1bHQudHJpZ2dlcihlLmVsLCJvbkNsb3NlQWZ0ZXIiKSxlLmVsLmZvY3VzKCl9Y2F0Y2godCl7fX0pLGUucy5iYWNrZHJvcER1cmF0aW9uKzUwKX0sd2luZG93LmxpZ2h0R2FsbGVyeT1mdW5jdGlvbih0LGUpe2lmKHQpdHJ5e2lmKHQuZ2V0QXR0cmlidXRlKCJsZy11aWQiKSl0cnl7d2luZG93LmxnRGF0YVt0LmdldEF0dHJpYnV0ZSgibGctdWlkIildLmluaXQoKX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKCJsaWdodEdhbGxlcnkgaGFzIG5vdCBpbml0aWF0ZWQgcHJvcGVybHkiKX1lbHNle3ZhciBuPSJsZyIrd2luZG93LmxnRGF0YS51aWQrKzt3aW5kb3cubGdEYXRhW25dPW5ldyByKHQsZSksdC5zZXRBdHRyaWJ1dGUoImxnLXVpZCIsbil9fWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoImxpZ2h0R2FsbGVyeSBoYXMgbm90IGluaXRpYXRlZCBwcm9wZXJseSIpfX19KSl9LHsiLi9sZy11dGlscyI6MX1dfSx7fSxbMl0pKDIpfSkpLAovKiohCiAqIGxnLXpvb20uanMgfCAxLjIuMCB8IE1heSAyMHRoIDIwMjAKICogaHR0cDovL3NhY2hpbmNob29sdXIuZ2l0aHViLmlvL2xnLXpvb20uanMKICogQ29weXJpZ2h0IChjKSAyMDE2IFNhY2hpbiBOOyAKICogQGxpY2Vuc2UgR1BMdjMgCiAqLwpmdW5jdGlvbih0KXtpZigib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlKW1vZHVsZS5leHBvcnRzPXQoKTtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQpZGVmaW5lKFtdLHQpO2Vsc2V7KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6dGhpcykuTGdab29tPXQoKX19KChmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiB0KGUsbixpKXtmdW5jdGlvbiBvKHMsYSl7aWYoIW5bc10pe2lmKCFlW3NdKXt2YXIgbD0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighYSYmbClyZXR1cm4gbChzLCEwKTtpZihyKXJldHVybiByKHMsITApO3ZhciBjPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK3MrIiciKTt0aHJvdyBjLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGN9dmFyIHU9bltzXT17ZXhwb3J0czp7fX07ZVtzXVswXS5jYWxsKHUuZXhwb3J0cywoZnVuY3Rpb24odCl7cmV0dXJuIG8oZVtzXVsxXVt0XXx8dCl9KSx1LHUuZXhwb3J0cyx0LGUsbixpKX1yZXR1cm4gbltzXS5leHBvcnRzfWZvcih2YXIgcj0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxzPTA7czxpLmxlbmd0aDtzKyspbyhpW3NdKTtyZXR1cm4gb30oezE6W2Z1bmN0aW9uKHQsZSxuKXshZnVuY3Rpb24odCxlKXtpZih2b2lkIDAhPT1uKWUoKTtlbHNle2UoKSx0LmxnWm9vbT17fX19KHRoaXMsKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciB0LGUsbj1PYmplY3QuYXNzaWdufHxmdW5jdGlvbih0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgbj1hcmd1bWVudHNbZV07Zm9yKHZhciBpIGluIG4pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4saSkmJih0W2ldPW5baV0pfXJldHVybiB0fSxpPXtzY2FsZToxLHpvb206ITAsYWN0dWFsU2l6ZTohMCxlbmFibGVab29tQWZ0ZXI6MzAwLHVzZUxlZnRGb3Jab29tOih0PSExLGU9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvQ2hyb20oZXxpdW0pXC8oWzAtOV0rKVwuLyksZSYmcGFyc2VJbnQoZVsyXSwxMCk8NTQmJih0PSEwKSx0KX0sbz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lbD10LHRoaXMuY29yZT13aW5kb3cubGdEYXRhW3RoaXMuZWwuZ2V0QXR0cmlidXRlKCJsZy11aWQiKV0sdGhpcy5jb3JlLnM9bih7fSxpLHRoaXMuY29yZS5zKSx0aGlzLmNvcmUucy56b29tJiZ0aGlzLmNvcmUuZG9Dc3MoKSYmKHRoaXMuaW5pdCgpLHRoaXMuem9vbWFibGV0aW1lb3V0PSExLHRoaXMucGFnZVg9d2luZG93LmlubmVyV2lkdGgvMix0aGlzLnBhZ2VZPXdpbmRvdy5pbm5lckhlaWdodC8yKyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCkpLHRoaXN9O28ucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9JzxidXR0b24gYXJpYS1sYWJlbD0iWm9vbSBpbiIgaWQ9ImxnLXpvb20taW4iIGNsYXNzPSJsZy1pY29uIj48L2J1dHRvbj48YnV0dG9uIGFyaWEtbGFiZWw9Ilpvb20gb3V0IiBpZD0ibGctem9vbS1vdXQiIGNsYXNzPSJsZy1pY29uIj48L2J1dHRvbj4nO3QuY29yZS5zLmFjdHVhbFNpemUmJihlKz0nPGJ1dHRvbiBhcmlhLWxhYmVsPSJBY3R1YWwgc2l6ZSIgaWQ9ImxnLWFjdHVhbC1zaXplIiBjbGFzcz0ibGctaWNvbiI+PC9idXR0b24+JyksdC5jb3JlLnMudXNlTGVmdEZvclpvb20/dXRpbHMuYWRkQ2xhc3ModC5jb3JlLm91dGVyLCJsZy11c2UtbGVmdC1mb3Item9vbSIpOnV0aWxzLmFkZENsYXNzKHQuY29yZS5vdXRlciwibGctdXNlLXRyYW5zaXRpb24tZm9yLXpvb20iKSx0aGlzLmNvcmUub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnLXRvb2xiYXIiKS5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWVuZCIsZSksdXRpbHMub24odC5jb3JlLmVsLCJvblNsaWRlSXRlbUxvYWQubGd0bXpvb20iLChmdW5jdGlvbihlKXt2YXIgbj10LmNvcmUucy5lbmFibGVab29tQWZ0ZXIrZS5kZXRhaWwuZGVsYXk7dXRpbHMuaGFzQ2xhc3MoZG9jdW1lbnQuYm9keSwibGctZnJvbS1oYXNoIikmJmUuZGV0YWlsLmRlbGF5P249MDp1dGlscy5yZW1vdmVDbGFzcyhkb2N1bWVudC5ib2R5LCJsZy1mcm9tLWhhc2giKSx0Lnpvb21hYmxldGltZW91dD1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3V0aWxzLmFkZENsYXNzKHQuY29yZS5fX19zbGlkZVtlLmRldGFpbC5pbmRleF0sImxnLXpvb21hYmxlIil9KSxuKzMwKX0pKTt2YXIgbj0xLGk9ZnVuY3Rpb24oZSl7dmFyIG49dC5jb3JlLm91dGVyLnF1ZXJ5U2VsZWN0b3IoIi5sZy1jdXJyZW50IC5sZy1pbWFnZSIpLGk9KHdpbmRvdy5pbm5lcldpZHRoLW4uY2xpZW50V2lkdGgpLzIsbz0od2luZG93LmlubmVySGVpZ2h0LW4uY2xpZW50SGVpZ2h0KS8yKyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCkscj0oZS0xKSoodC5wYWdlWC1pKSxzPShlLTEpKih0LnBhZ2VZLW8pO3V0aWxzLnNldFZlbmRvcihuLCJUcmFuc2Zvcm0iLCJzY2FsZTNkKCIrZSsiLCAiK2UrIiwgMSkiKSxuLnNldEF0dHJpYnV0ZSgiZGF0YS1zY2FsZSIsZSksdC5jb3JlLnMudXNlTGVmdEZvclpvb20/KG4ucGFyZW50RWxlbWVudC5zdHlsZS5sZWZ0PS1yKyJweCIsbi5wYXJlbnRFbGVtZW50LnN0eWxlLnRvcD0tcysicHgiKTp1dGlscy5zZXRWZW5kb3Iobi5wYXJlbnRFbGVtZW50LCJUcmFuc2Zvcm0iLCJ0cmFuc2xhdGUzZCgtIityKyJweCwgLSIrcysicHgsIDApIiksbi5wYXJlbnRFbGVtZW50LnNldEF0dHJpYnV0ZSgiZGF0YS14IixyKSxuLnBhcmVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCJkYXRhLXkiLHMpfSxvPWZ1bmN0aW9uKCl7bj4xP3V0aWxzLmFkZENsYXNzKHQuY29yZS5vdXRlciwibGctem9vbWVkIik6dC5yZXNldFpvb20oKSxuPDEmJihuPTEpLGkobil9LHI9ZnVuY3Rpb24oZSxpLHIscyl7dmFyIGEsbD1pLmNsaWVudFdpZHRoO2E9dC5jb3JlLnMuZHluYW1pYz90LmNvcmUucy5keW5hbWljRWxbcl0ud2lkdGh8fGkubmF0dXJhbFdpZHRofHxsOnQuY29yZS5pdGVtc1tyXS5nZXRBdHRyaWJ1dGUoImRhdGEtd2lkdGgiKXx8aS5uYXR1cmFsV2lkdGh8fGwsdXRpbHMuaGFzQ2xhc3ModC5jb3JlLm91dGVyLCJsZy16b29tZWQiKT9uPTE6YT5sJiYobj1hL2x8fDIpLHM/KHQucGFnZVg9d2luZG93LmlubmVyV2lkdGgvMix0LnBhZ2VZPXdpbmRvdy5pbm5lckhlaWdodC8yKyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCkpOih0LnBhZ2VYPWUucGFnZVh8fGUudGFyZ2V0VG91Y2hlc1swXS5wYWdlWCx0LnBhZ2VZPWUucGFnZVl8fGUudGFyZ2V0VG91Y2hlc1swXS5wYWdlWSksbygpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dXRpbHMucmVtb3ZlQ2xhc3ModC5jb3JlLm91dGVyLCJsZy1ncmFiYmluZyIpLHV0aWxzLmFkZENsYXNzKHQuY29yZS5vdXRlciwibGctZ3JhYiIpfSksMTApfSxzPSExO3V0aWxzLm9uKHQuY29yZS5lbCwib25BZmVyQXBwZW5kU2xpZGUubGd0bXpvb20iLChmdW5jdGlvbihlKXt2YXIgbj1lLmRldGFpbC5pbmRleCxpPXQuY29yZS5fX19zbGlkZVtuXS5xdWVyeVNlbGVjdG9yKCIubGctaW1hZ2UiKTt0LmNvcmUuaXNUb3VjaHx8dXRpbHMub24oaSwiZGJsY2xpY2siLChmdW5jdGlvbih0KXtyKHQsaSxuKX0pKSx0LmNvcmUuaXNUb3VjaCYmdXRpbHMub24oaSwidG91Y2hzdGFydCIsKGZ1bmN0aW9uKHQpe3M/KGNsZWFyVGltZW91dChzKSxzPW51bGwscih0LGksbikpOnM9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtzPW51bGx9KSwzMDApLHQucHJldmVudERlZmF1bHQoKX0pKX0pKSx1dGlscy5vbih3aW5kb3csInJlc2l6ZS5sZ3pvb20gc2Nyb2xsLmxnem9vbSBvcmllbnRhdGlvbmNoYW5nZS5sZ3pvb20iLChmdW5jdGlvbigpe3QucGFnZVg9d2luZG93LmlubmVyV2lkdGgvMix0LnBhZ2VZPXdpbmRvdy5pbm5lckhlaWdodC8yKyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCksaShuKX0pKSx1dGlscy5vbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGctem9vbS1vdXQiKSwiY2xpY2subGciLChmdW5jdGlvbigpe3QuY29yZS5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctY3VycmVudCAubGctaW1hZ2UiKSYmKG4tPXQuY29yZS5zLnNjYWxlLG8oKSl9KSksdXRpbHMub24oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxnLXpvb20taW4iKSwiY2xpY2subGciLChmdW5jdGlvbigpe3QuY29yZS5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGctY3VycmVudCAubGctaW1hZ2UiKSYmKG4rPXQuY29yZS5zLnNjYWxlLG8oKSl9KSksdXRpbHMub24oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxnLWFjdHVhbC1zaXplIiksImNsaWNrLmxnIiwoZnVuY3Rpb24oZSl7cihlLHQuY29yZS5fX19zbGlkZVt0LmNvcmUuaW5kZXhdLnF1ZXJ5U2VsZWN0b3IoIi5sZy1pbWFnZSIpLHQuY29yZS5pbmRleCwhMCl9KSksdXRpbHMub24odC5jb3JlLmVsLCJvbkJlZm9yZVNsaWRlLmxndG0iLChmdW5jdGlvbigpe249MSx0LnJlc2V0Wm9vbSgpfSkpLHQuY29yZS5pc1RvdWNofHx0Lnpvb21EcmFnKCksdC5jb3JlLmlzVG91Y2gmJnQuem9vbVN3aXBlKCl9LG8ucHJvdG90eXBlLnJlc2V0Wm9vbT1mdW5jdGlvbigpe3V0aWxzLnJlbW92ZUNsYXNzKHRoaXMuY29yZS5vdXRlciwibGctem9vbWVkIik7Zm9yKHZhciB0PTA7dDx0aGlzLmNvcmUuX19fc2xpZGUubGVuZ3RoO3QrKyl0aGlzLmNvcmUuX19fc2xpZGVbdF0ucXVlcnlTZWxlY3RvcigiLmxnLWltZy13cmFwIikmJih0aGlzLmNvcmUuX19fc2xpZGVbdF0ucXVlcnlTZWxlY3RvcigiLmxnLWltZy13cmFwIikucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpLHRoaXMuY29yZS5fX19zbGlkZVt0XS5xdWVyeVNlbGVjdG9yKCIubGctaW1nLXdyYXAiKS5yZW1vdmVBdHRyaWJ1dGUoImRhdGEteCIpLHRoaXMuY29yZS5fX19zbGlkZVt0XS5xdWVyeVNlbGVjdG9yKCIubGctaW1nLXdyYXAiKS5yZW1vdmVBdHRyaWJ1dGUoImRhdGEteSIpKTtmb3IodmFyIGU9MDtlPHRoaXMuY29yZS5fX19zbGlkZS5sZW5ndGg7ZSsrKXRoaXMuY29yZS5fX19zbGlkZVtlXS5xdWVyeVNlbGVjdG9yKCIubGctaW1hZ2UiKSYmKHRoaXMuY29yZS5fX19zbGlkZVtlXS5xdWVyeVNlbGVjdG9yKCIubGctaW1hZ2UiKS5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIiksdGhpcy5jb3JlLl9fX3NsaWRlW2VdLnF1ZXJ5U2VsZWN0b3IoIi5sZy1pbWFnZSIpLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1zY2FsZSIpKTt0aGlzLnBhZ2VYPXdpbmRvdy5pbm5lcldpZHRoLzIsdGhpcy5wYWdlWT13aW5kb3cuaW5uZXJIZWlnaHQvMisoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApfSxvLnByb3RvdHlwZS56b29tU3dpcGU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcyxlPXt9LG49e30saT0hMSxvPSExLHI9ITEscz0wO3M8dC5jb3JlLl9fX3NsaWRlLmxlbmd0aDtzKyspdXRpbHMub24odC5jb3JlLl9fX3NsaWRlW3NdLCJ0b3VjaHN0YXJ0LmxnIiwoZnVuY3Rpb24obil7aWYodXRpbHMuaGFzQ2xhc3ModC5jb3JlLm91dGVyLCJsZy16b29tZWQiKSl7dmFyIGk9dC5jb3JlLl9fX3NsaWRlW3QuY29yZS5pbmRleF0ucXVlcnlTZWxlY3RvcigiLmxnLW9iamVjdCIpO3I9aS5vZmZzZXRIZWlnaHQqaS5nZXRBdHRyaWJ1dGUoImRhdGEtc2NhbGUiKT50LmNvcmUub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnIikuY2xpZW50SGVpZ2h0LCgobz1pLm9mZnNldFdpZHRoKmkuZ2V0QXR0cmlidXRlKCJkYXRhLXNjYWxlIik+dC5jb3JlLm91dGVyLnF1ZXJ5U2VsZWN0b3IoIi5sZyIpLmNsaWVudFdpZHRoKXx8cikmJihuLnByZXZlbnREZWZhdWx0KCksZT17eDpuLnRhcmdldFRvdWNoZXNbMF0ucGFnZVgseTpuLnRhcmdldFRvdWNoZXNbMF0ucGFnZVl9KX19KSk7Zm9yKHZhciBhPTA7YTx0LmNvcmUuX19fc2xpZGUubGVuZ3RoO2ErKyl1dGlscy5vbih0LmNvcmUuX19fc2xpZGVbYV0sInRvdWNobW92ZS5sZyIsKGZ1bmN0aW9uKHMpe2lmKHV0aWxzLmhhc0NsYXNzKHQuY29yZS5vdXRlciwibGctem9vbWVkIikpe3ZhciBhLGwsYz10LmNvcmUuX19fc2xpZGVbdC5jb3JlLmluZGV4XS5xdWVyeVNlbGVjdG9yKCIubGctaW1nLXdyYXAiKTtzLnByZXZlbnREZWZhdWx0KCksaT0hMCxuPXt4OnMudGFyZ2V0VG91Y2hlc1swXS5wYWdlWCx5OnMudGFyZ2V0VG91Y2hlc1swXS5wYWdlWX0sdXRpbHMuYWRkQ2xhc3ModC5jb3JlLm91dGVyLCJsZy16b29tLWRyYWdnaW5nIiksbD1yPy1NYXRoLmFicyhjLmdldEF0dHJpYnV0ZSgiZGF0YS15IikpKyhuLnktZS55KTotTWF0aC5hYnMoYy5nZXRBdHRyaWJ1dGUoImRhdGEteSIpKSxhPW8/LU1hdGguYWJzKGMuZ2V0QXR0cmlidXRlKCJkYXRhLXgiKSkrKG4ueC1lLngpOi1NYXRoLmFicyhjLmdldEF0dHJpYnV0ZSgiZGF0YS14IikpLChNYXRoLmFicyhuLngtZS54KT4xNXx8TWF0aC5hYnMobi55LWUueSk+MTUpJiYodC5jb3JlLnMudXNlTGVmdEZvclpvb20/KGMuc3R5bGUubGVmdD1hKyJweCIsYy5zdHlsZS50b3A9bCsicHgiKTp1dGlscy5zZXRWZW5kb3IoYywiVHJhbnNmb3JtIiwidHJhbnNsYXRlM2QoIithKyJweCwgIitsKyJweCwgMCkiKSl9fSkpO2Zvcih2YXIgbD0wO2w8dC5jb3JlLl9fX3NsaWRlLmxlbmd0aDtsKyspdXRpbHMub24odC5jb3JlLl9fX3NsaWRlW2xdLCJ0b3VjaGVuZC5sZyIsKGZ1bmN0aW9uKCl7dXRpbHMuaGFzQ2xhc3ModC5jb3JlLm91dGVyLCJsZy16b29tZWQiKSYmaSYmKGk9ITEsdXRpbHMucmVtb3ZlQ2xhc3ModC5jb3JlLm91dGVyLCJsZy16b29tLWRyYWdnaW5nIiksdC50b3VjaGVuZFpvb20oZSxuLG8scikpfSkpfSxvLnByb3RvdHlwZS56b29tRHJhZz1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLGU9e30sbj17fSxpPSExLG89ITEscj0hMSxzPSExLGE9MDthPHQuY29yZS5fX19zbGlkZS5sZW5ndGg7YSsrKXV0aWxzLm9uKHQuY29yZS5fX19zbGlkZVthXSwibW91c2Vkb3duLmxnem9vbSIsKGZ1bmN0aW9uKG4pe3ZhciBvPXQuY29yZS5fX19zbGlkZVt0LmNvcmUuaW5kZXhdLnF1ZXJ5U2VsZWN0b3IoIi5sZy1vYmplY3QiKTtzPW8ub2Zmc2V0SGVpZ2h0Km8uZ2V0QXR0cmlidXRlKCJkYXRhLXNjYWxlIik+dC5jb3JlLm91dGVyLnF1ZXJ5U2VsZWN0b3IoIi5sZyIpLmNsaWVudEhlaWdodCxyPW8ub2Zmc2V0V2lkdGgqby5nZXRBdHRyaWJ1dGUoImRhdGEtc2NhbGUiKT50LmNvcmUub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnIikuY2xpZW50V2lkdGgsdXRpbHMuaGFzQ2xhc3ModC5jb3JlLm91dGVyLCJsZy16b29tZWQiKSYmdXRpbHMuaGFzQ2xhc3Mobi50YXJnZXQsImxnLW9iamVjdCIpJiYocnx8cykmJihuLnByZXZlbnREZWZhdWx0KCksZT17eDpuLnBhZ2VYLHk6bi5wYWdlWX0saT0hMCx0LmNvcmUub3V0ZXIuc2Nyb2xsTGVmdCs9MSx0LmNvcmUub3V0ZXIuc2Nyb2xsTGVmdC09MSx1dGlscy5yZW1vdmVDbGFzcyh0LmNvcmUub3V0ZXIsImxnLWdyYWIiKSx1dGlscy5hZGRDbGFzcyh0LmNvcmUub3V0ZXIsImxnLWdyYWJiaW5nIikpfSkpO3V0aWxzLm9uKHdpbmRvdywibW91c2Vtb3ZlLmxnem9vbSIsKGZ1bmN0aW9uKGEpe2lmKGkpe3ZhciBsLGMsdT10LmNvcmUuX19fc2xpZGVbdC5jb3JlLmluZGV4XS5xdWVyeVNlbGVjdG9yKCIubGctaW1nLXdyYXAiKTtvPSEwLG49e3g6YS5wYWdlWCx5OmEucGFnZVl9LHV0aWxzLmFkZENsYXNzKHQuY29yZS5vdXRlciwibGctem9vbS1kcmFnZ2luZyIpLGM9cz8tTWF0aC5hYnModS5nZXRBdHRyaWJ1dGUoImRhdGEteSIpKSsobi55LWUueSk6LU1hdGguYWJzKHUuZ2V0QXR0cmlidXRlKCJkYXRhLXkiKSksbD1yPy1NYXRoLmFicyh1LmdldEF0dHJpYnV0ZSgiZGF0YS14IikpKyhuLngtZS54KTotTWF0aC5hYnModS5nZXRBdHRyaWJ1dGUoImRhdGEteCIpKSx0LmNvcmUucy51c2VMZWZ0Rm9yWm9vbT8odS5zdHlsZS5sZWZ0PWwrInB4Iix1LnN0eWxlLnRvcD1jKyJweCIpOnV0aWxzLnNldFZlbmRvcih1LCJUcmFuc2Zvcm0iLCJ0cmFuc2xhdGUzZCgiK2wrInB4LCAiK2MrInB4LCAwKSIpfX0pKSx1dGlscy5vbih3aW5kb3csIm1vdXNldXAubGd6b29tIiwoZnVuY3Rpb24oYSl7aSYmKGk9ITEsdXRpbHMucmVtb3ZlQ2xhc3ModC5jb3JlLm91dGVyLCJsZy16b29tLWRyYWdnaW5nIiksIW98fGUueD09PW4ueCYmZS55PT09bi55fHwobj17eDphLnBhZ2VYLHk6YS5wYWdlWX0sdC50b3VjaGVuZFpvb20oZSxuLHIscykpLG89ITEpLHV0aWxzLnJlbW92ZUNsYXNzKHQuY29yZS5vdXRlciwibGctZ3JhYmJpbmciKSx1dGlscy5hZGRDbGFzcyh0LmNvcmUub3V0ZXIsImxnLWdyYWIiKX0pKX0sby5wcm90b3R5cGUudG91Y2hlbmRab29tPWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciBvPXRoaXMuY29yZS5fX19zbGlkZVt0aGlzLmNvcmUuaW5kZXhdLnF1ZXJ5U2VsZWN0b3IoIi5sZy1pbWctd3JhcCIpLHI9dGhpcy5jb3JlLl9fX3NsaWRlW3RoaXMuY29yZS5pbmRleF0ucXVlcnlTZWxlY3RvcigiLmxnLW9iamVjdCIpLHM9LU1hdGguYWJzKG8uZ2V0QXR0cmlidXRlKCJkYXRhLXgiKSkrKGUueC10LngpLGE9LU1hdGguYWJzKG8uZ2V0QXR0cmlidXRlKCJkYXRhLXkiKSkrKGUueS10LnkpLGw9KHRoaXMuY29yZS5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGciKS5jbGllbnRIZWlnaHQtci5vZmZzZXRIZWlnaHQpLzIsYz1NYXRoLmFicyhyLm9mZnNldEhlaWdodCpNYXRoLmFicyhyLmdldEF0dHJpYnV0ZSgiZGF0YS1zY2FsZSIpKS10aGlzLmNvcmUub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnIikuY2xpZW50SGVpZ2h0K2wpLHU9KHRoaXMuY29yZS5vdXRlci5xdWVyeVNlbGVjdG9yKCIubGciKS5jbGllbnRXaWR0aC1yLm9mZnNldFdpZHRoKS8yLGQ9TWF0aC5hYnMoci5vZmZzZXRXaWR0aCpNYXRoLmFicyhyLmdldEF0dHJpYnV0ZSgiZGF0YS1zY2FsZSIpKS10aGlzLmNvcmUub3V0ZXIucXVlcnlTZWxlY3RvcigiLmxnIikuY2xpZW50V2lkdGgrdSk7KE1hdGguYWJzKGUueC10LngpPjE1fHxNYXRoLmFicyhlLnktdC55KT4xNSkmJihpJiYoYTw9LWM/YT0tYzphPj0tbCYmKGE9LWwpKSxuJiYoczw9LWQ/cz0tZDpzPj0tdSYmKHM9LXUpKSxpP28uc2V0QXR0cmlidXRlKCJkYXRhLXkiLE1hdGguYWJzKGEpKTphPS1NYXRoLmFicyhvLmdldEF0dHJpYnV0ZSgiZGF0YS15IikpLG4/by5zZXRBdHRyaWJ1dGUoImRhdGEteCIsTWF0aC5hYnMocykpOnM9LU1hdGguYWJzKG8uZ2V0QXR0cmlidXRlKCJkYXRhLXgiKSksdGhpcy5jb3JlLnMudXNlTGVmdEZvclpvb20/KG8uc3R5bGUubGVmdD1zKyJweCIsby5zdHlsZS50b3A9YSsicHgiKTp1dGlscy5zZXRWZW5kb3IobywiVHJhbnNmb3JtIiwidHJhbnNsYXRlM2QoIitzKyJweCwgIithKyJweCwgMCkiKSl9LG8ucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt1dGlscy5vZmYodGhpcy5jb3JlLmVsLCIubGd6b29tIiksdXRpbHMub2ZmKHdpbmRvdywiLmxnem9vbSIpO2Zvcih2YXIgdD0wO3Q8dGhpcy5jb3JlLl9fX3NsaWRlLmxlbmd0aDt0KyspdXRpbHMub2ZmKHRoaXMuY29yZS5fX19zbGlkZVt0XSwiLmxnem9vbSIpO3V0aWxzLm9mZih0aGlzLmNvcmUuZWwsIi5sZ3Rtem9vbSIpLHRoaXMucmVzZXRab29tKCksY2xlYXJUaW1lb3V0KHRoaXMuem9vbWFibGV0aW1lb3V0KSx0aGlzLnpvb21hYmxldGltZW91dD0hMX0sd2luZG93LmxnTW9kdWxlcy56b29tPW99KSl9LHt9XX0se30sWzFdKSgxKX0pKSxmdW5jdGlvbih0LGUpeyJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmIm9iamVjdCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9ZSgpOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtdLGUpOiJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzLmF4aW9zPWUoKTp0LmF4aW9zPWUoKX0odGhpcywoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9e307ZnVuY3Rpb24gbihpKXtpZihlW2ldKXJldHVybiBlW2ldLmV4cG9ydHM7dmFyIG89ZVtpXT17ZXhwb3J0czp7fSxpZDppLGxvYWRlZDohMX07cmV0dXJuIHRbaV0uY2FsbChvLmV4cG9ydHMsbyxvLmV4cG9ydHMsbiksby5sb2FkZWQ9ITAsby5leHBvcnRzfXJldHVybiBuLm09dCxuLmM9ZSxuLnA9IiIsbigwKX0oW2Z1bmN0aW9uKHQsZSxuKXt0LmV4cG9ydHM9bigxKX0sZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDIpLG89bigzKSxyPW4oNCkscz1uKDIyKTtmdW5jdGlvbiBhKHQpe3ZhciBlPW5ldyByKHQpLG49byhyLnByb3RvdHlwZS5yZXF1ZXN0LGUpO3JldHVybiBpLmV4dGVuZChuLHIucHJvdG90eXBlLGUpLGkuZXh0ZW5kKG4sZSksbn12YXIgbD1hKG4oMTApKTtsLkF4aW9zPXIsbC5jcmVhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGEocyhsLmRlZmF1bHRzLHQpKX0sbC5DYW5jZWw9bigyMyksbC5DYW5jZWxUb2tlbj1uKDI0KSxsLmlzQ2FuY2VsPW4oOSksbC5hbGw9ZnVuY3Rpb24odCl7cmV0dXJuIFByb21pc2UuYWxsKHQpfSxsLnNwcmVhZD1uKDI1KSx0LmV4cG9ydHM9bCx0LmV4cG9ydHMuZGVmYXVsdD1sfSxmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciBpPW4oMyksbz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIHIodCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PW8uY2FsbCh0KX1mdW5jdGlvbiBzKHQpe3JldHVybiB2b2lkIDA9PT10fWZ1bmN0aW9uIGEodCl7cmV0dXJuIG51bGwhPT10JiYib2JqZWN0Ij09dHlwZW9mIHR9ZnVuY3Rpb24gbCh0KXtpZigiW29iamVjdCBPYmplY3RdIiE9PW8uY2FsbCh0KSlyZXR1cm4hMTt2YXIgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCk7cmV0dXJuIG51bGw9PT1lfHxlPT09T2JqZWN0LnByb3RvdHlwZX1mdW5jdGlvbiBjKHQpe3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1vLmNhbGwodCl9ZnVuY3Rpb24gdSh0LGUpe2lmKG51bGwhPXQpaWYoIm9iamVjdCIhPXR5cGVvZiB0JiYodD1bdF0pLHIodCkpZm9yKHZhciBuPTAsaT10Lmxlbmd0aDtuPGk7bisrKWUuY2FsbChudWxsLHRbbl0sbix0KTtlbHNlIGZvcih2YXIgbyBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG8pJiZlLmNhbGwobnVsbCx0W29dLG8sdCl9dC5leHBvcnRzPXtpc0FycmF5OnIsaXNBcnJheUJ1ZmZlcjpmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBBcnJheUJ1ZmZlcl0iPT09by5jYWxsKHQpfSxpc0J1ZmZlcjpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9PXQmJiFzKHQpJiZudWxsIT09dC5jb25zdHJ1Y3RvciYmIXModC5jb25zdHJ1Y3RvcikmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvbnN0cnVjdG9yLmlzQnVmZmVyJiZ0LmNvbnN0cnVjdG9yLmlzQnVmZmVyKHQpfSxpc0Zvcm1EYXRhOmZ1bmN0aW9uKHQpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YX0saXNBcnJheUJ1ZmZlclZpZXc6ZnVuY3Rpb24odCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmQXJyYXlCdWZmZXIuaXNWaWV3P0FycmF5QnVmZmVyLmlzVmlldyh0KTp0JiZ0LmJ1ZmZlciYmdC5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcn0saXNTdHJpbmc6ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fSxpc051bWJlcjpmdW5jdGlvbih0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHR9LGlzT2JqZWN0OmEsaXNQbGFpbk9iamVjdDpsLGlzVW5kZWZpbmVkOnMsaXNEYXRlOmZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IERhdGVdIj09PW8uY2FsbCh0KX0saXNGaWxlOmZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IEZpbGVdIj09PW8uY2FsbCh0KX0saXNCbG9iOmZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IEJsb2JdIj09PW8uY2FsbCh0KX0saXNGdW5jdGlvbjpjLGlzU3RyZWFtOmZ1bmN0aW9uKHQpe3JldHVybiBhKHQpJiZjKHQucGlwZSl9LGlzVVJMU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKHQpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgVVJMU2VhcmNoUGFyYW1zJiZ0IGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zfSxpc1N0YW5kYXJkQnJvd3NlckVudjpmdW5jdGlvbigpe3JldHVybigidW5kZWZpbmVkIj09dHlwZW9mIG5hdmlnYXRvcnx8IlJlYWN0TmF0aXZlIiE9PW5hdmlnYXRvci5wcm9kdWN0JiYiTmF0aXZlU2NyaXB0IiE9PW5hdmlnYXRvci5wcm9kdWN0JiYiTlMiIT09bmF2aWdhdG9yLnByb2R1Y3QpJiYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQpfSxmb3JFYWNoOnUsbWVyZ2U6ZnVuY3Rpb24gdCgpe3ZhciBlPXt9O2Z1bmN0aW9uIG4obixpKXtsKGVbaV0pJiZsKG4pP2VbaV09dChlW2ldLG4pOmwobik/ZVtpXT10KHt9LG4pOnIobik/ZVtpXT1uLnNsaWNlKCk6ZVtpXT1ufWZvcih2YXIgaT0wLG89YXJndW1lbnRzLmxlbmd0aDtpPG87aSsrKXUoYXJndW1lbnRzW2ldLG4pO3JldHVybiBlfSxleHRlbmQ6ZnVuY3Rpb24odCxlLG4pe3JldHVybiB1KGUsKGZ1bmN0aW9uKGUsbyl7dFtvXT1uJiYiZnVuY3Rpb24iPT10eXBlb2YgZT9pKGUsbik6ZX0pKSx0fSx0cmltOmZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoL15ccyovLCIiKS5yZXBsYWNlKC9ccyokLywiIil9LHN0cmlwQk9NOmZ1bmN0aW9uKHQpe3JldHVybiA2NTI3OT09PXQuY2hhckNvZGVBdCgwKSYmKHQ9dC5zbGljZSgxKSksdH19fSxmdW5jdGlvbih0LGUpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIG49bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLGk9MDtpPG4ubGVuZ3RoO2krKyluW2ldPWFyZ3VtZW50c1tpXTtyZXR1cm4gdC5hcHBseShlLG4pfX19LGZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIGk9bigyKSxvPW4oNSkscj1uKDYpLHM9big3KSxhPW4oMjIpO2Z1bmN0aW9uIGwodCl7dGhpcy5kZWZhdWx0cz10LHRoaXMuaW50ZXJjZXB0b3JzPXtyZXF1ZXN0Om5ldyByLHJlc3BvbnNlOm5ldyByfX1sLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKHQpeyJzdHJpbmciPT10eXBlb2YgdD8odD1hcmd1bWVudHNbMV18fHt9KS51cmw9YXJndW1lbnRzWzBdOnQ9dHx8e30sKHQ9YSh0aGlzLmRlZmF1bHRzLHQpKS5tZXRob2Q/dC5tZXRob2Q9dC5tZXRob2QudG9Mb3dlckNhc2UoKTp0aGlzLmRlZmF1bHRzLm1ldGhvZD90Lm1ldGhvZD10aGlzLmRlZmF1bHRzLm1ldGhvZC50b0xvd2VyQ2FzZSgpOnQubWV0aG9kPSJnZXQiO3ZhciBlPVtzLHZvaWQgMF0sbj1Qcm9taXNlLnJlc29sdmUodCk7Zm9yKHRoaXMuaW50ZXJjZXB0b3JzLnJlcXVlc3QuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZS51bnNoaWZ0KHQuZnVsZmlsbGVkLHQucmVqZWN0ZWQpfSkpLHRoaXMuaW50ZXJjZXB0b3JzLnJlc3BvbnNlLmZvckVhY2goKGZ1bmN0aW9uKHQpe2UucHVzaCh0LmZ1bGZpbGxlZCx0LnJlamVjdGVkKX0pKTtlLmxlbmd0aDspbj1uLnRoZW4oZS5zaGlmdCgpLGUuc2hpZnQoKSk7cmV0dXJuIG59LGwucHJvdG90eXBlLmdldFVyaT1mdW5jdGlvbih0KXtyZXR1cm4gdD1hKHRoaXMuZGVmYXVsdHMsdCksbyh0LnVybCx0LnBhcmFtcyx0LnBhcmFtc1NlcmlhbGl6ZXIpLnJlcGxhY2UoL15cPy8sIiIpfSxpLmZvckVhY2goWyJkZWxldGUiLCJnZXQiLCJoZWFkIiwib3B0aW9ucyJdLChmdW5jdGlvbih0KXtsLnByb3RvdHlwZVt0XT1mdW5jdGlvbihlLG4pe3JldHVybiB0aGlzLnJlcXVlc3QoYShufHx7fSx7bWV0aG9kOnQsdXJsOmUsZGF0YToobnx8e30pLmRhdGF9KSl9fSkpLGkuZm9yRWFjaChbInBvc3QiLCJwdXQiLCJwYXRjaCJdLChmdW5jdGlvbih0KXtsLnByb3RvdHlwZVt0XT1mdW5jdGlvbihlLG4saSl7cmV0dXJuIHRoaXMucmVxdWVzdChhKGl8fHt9LHttZXRob2Q6dCx1cmw6ZSxkYXRhOm59KSl9fSkpLHQuZXhwb3J0cz1sfSxmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciBpPW4oMik7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHQpLnJlcGxhY2UoLyUzQS9naSwiOiIpLnJlcGxhY2UoLyUyNC9nLCIkIikucmVwbGFjZSgvJTJDL2dpLCIsIikucmVwbGFjZSgvJTIwL2csIisiKS5yZXBsYWNlKC8lNUIvZ2ksIlsiKS5yZXBsYWNlKC8lNUQvZ2ksIl0iKX10LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4pe2lmKCFlKXJldHVybiB0O3ZhciByO2lmKG4pcj1uKGUpO2Vsc2UgaWYoaS5pc1VSTFNlYXJjaFBhcmFtcyhlKSlyPWUudG9TdHJpbmcoKTtlbHNle3ZhciBzPVtdO2kuZm9yRWFjaChlLChmdW5jdGlvbih0LGUpe251bGwhPXQmJihpLmlzQXJyYXkodCk/ZSs9IltdIjp0PVt0XSxpLmZvckVhY2godCwoZnVuY3Rpb24odCl7aS5pc0RhdGUodCk/dD10LnRvSVNPU3RyaW5nKCk6aS5pc09iamVjdCh0KSYmKHQ9SlNPTi5zdHJpbmdpZnkodCkpLHMucHVzaChvKGUpKyI9IitvKHQpKX0pKSl9KSkscj1zLmpvaW4oIiYiKX1pZihyKXt2YXIgYT10LmluZGV4T2YoIiMiKTstMSE9PWEmJih0PXQuc2xpY2UoMCxhKSksdCs9KC0xPT09dC5pbmRleE9mKCI/Iik/Ij8iOiImIikrcn1yZXR1cm4gdH19LGZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIGk9bigyKTtmdW5jdGlvbiBvKCl7dGhpcy5oYW5kbGVycz1bXX1vLnByb3RvdHlwZS51c2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5oYW5kbGVycy5wdXNoKHtmdWxmaWxsZWQ6dCxyZWplY3RlZDplfSksdGhpcy5oYW5kbGVycy5sZW5ndGgtMX0sby5wcm90b3R5cGUuZWplY3Q9ZnVuY3Rpb24odCl7dGhpcy5oYW5kbGVyc1t0XSYmKHRoaXMuaGFuZGxlcnNbdF09bnVsbCl9LG8ucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24odCl7aS5mb3JFYWNoKHRoaXMuaGFuZGxlcnMsKGZ1bmN0aW9uKGUpe251bGwhPT1lJiZ0KGUpfSkpfSx0LmV4cG9ydHM9b30sZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDIpLG89big4KSxyPW4oOSkscz1uKDEwKTtmdW5jdGlvbiBhKHQpe3QuY2FuY2VsVG9rZW4mJnQuY2FuY2VsVG9rZW4udGhyb3dJZlJlcXVlc3RlZCgpfXQuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gYSh0KSx0LmhlYWRlcnM9dC5oZWFkZXJzfHx7fSx0LmRhdGE9byh0LmRhdGEsdC5oZWFkZXJzLHQudHJhbnNmb3JtUmVxdWVzdCksdC5oZWFkZXJzPWkubWVyZ2UodC5oZWFkZXJzLmNvbW1vbnx8e30sdC5oZWFkZXJzW3QubWV0aG9kXXx8e30sdC5oZWFkZXJzKSxpLmZvckVhY2goWyJkZWxldGUiLCJnZXQiLCJoZWFkIiwicG9zdCIsInB1dCIsInBhdGNoIiwiY29tbW9uIl0sKGZ1bmN0aW9uKGUpe2RlbGV0ZSB0LmhlYWRlcnNbZV19KSksKHQuYWRhcHRlcnx8cy5hZGFwdGVyKSh0KS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gYSh0KSxlLmRhdGE9byhlLmRhdGEsZS5oZWFkZXJzLHQudHJhbnNmb3JtUmVzcG9uc2UpLGV9KSwoZnVuY3Rpb24oZSl7cmV0dXJuIHIoZSl8fChhKHQpLGUmJmUucmVzcG9uc2UmJihlLnJlc3BvbnNlLmRhdGE9byhlLnJlc3BvbnNlLmRhdGEsZS5yZXNwb25zZS5oZWFkZXJzLHQudHJhbnNmb3JtUmVzcG9uc2UpKSksUHJvbWlzZS5yZWplY3QoZSl9KSl9fSxmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciBpPW4oMik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gaS5mb3JFYWNoKG4sKGZ1bmN0aW9uKG4pe3Q9bih0LGUpfSkpLHR9fSxmdW5jdGlvbih0LGUpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuISghdHx8IXQuX19DQU5DRUxfXyl9fSxmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciBpPW4oMiksbz1uKDExKSxyPXsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn07ZnVuY3Rpb24gcyh0LGUpeyFpLmlzVW5kZWZpbmVkKHQpJiZpLmlzVW5kZWZpbmVkKHRbIkNvbnRlbnQtVHlwZSJdKSYmKHRbIkNvbnRlbnQtVHlwZSJdPWUpfXZhciBhLGw9e2FkYXB0ZXI6KCgidW5kZWZpbmVkIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0fHwidW5kZWZpbmVkIiE9dHlwZW9mIHByb2Nlc3MmJiJbb2JqZWN0IHByb2Nlc3NdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChwcm9jZXNzKSkmJihhPW4oMTIpKSxhKSx0cmFuc2Zvcm1SZXF1ZXN0OltmdW5jdGlvbih0LGUpe3JldHVybiBvKGUsIkFjY2VwdCIpLG8oZSwiQ29udGVudC1UeXBlIiksaS5pc0Zvcm1EYXRhKHQpfHxpLmlzQXJyYXlCdWZmZXIodCl8fGkuaXNCdWZmZXIodCl8fGkuaXNTdHJlYW0odCl8fGkuaXNGaWxlKHQpfHxpLmlzQmxvYih0KT90OmkuaXNBcnJheUJ1ZmZlclZpZXcodCk/dC5idWZmZXI6aS5pc1VSTFNlYXJjaFBhcmFtcyh0KT8ocyhlLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOCIpLHQudG9TdHJpbmcoKSk6aS5pc09iamVjdCh0KT8ocyhlLCJhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTgiKSxKU09OLnN0cmluZ2lmeSh0KSk6dH1dLHRyYW5zZm9ybVJlc3BvbnNlOltmdW5jdGlvbih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpdHJ5e3Q9SlNPTi5wYXJzZSh0KX1jYXRjaCh0KXt9cmV0dXJuIHR9XSx0aW1lb3V0OjAseHNyZkNvb2tpZU5hbWU6IlhTUkYtVE9LRU4iLHhzcmZIZWFkZXJOYW1lOiJYLVhTUkYtVE9LRU4iLG1heENvbnRlbnRMZW5ndGg6LTEsbWF4Qm9keUxlbmd0aDotMSx2YWxpZGF0ZVN0YXR1czpmdW5jdGlvbih0KXtyZXR1cm4gdD49MjAwJiZ0PDMwMH19O2wuaGVhZGVycz17Y29tbW9uOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW4sICovKiJ9fSxpLmZvckVhY2goWyJkZWxldGUiLCJnZXQiLCJoZWFkIl0sKGZ1bmN0aW9uKHQpe2wuaGVhZGVyc1t0XT17fX0pKSxpLmZvckVhY2goWyJwb3N0IiwicHV0IiwicGF0Y2giXSwoZnVuY3Rpb24odCl7bC5oZWFkZXJzW3RdPWkubWVyZ2Uocil9KSksdC5leHBvcnRzPWx9LGZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIGk9bigyKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpLmZvckVhY2godCwoZnVuY3Rpb24obixpKXtpIT09ZSYmaS50b1VwcGVyQ2FzZSgpPT09ZS50b1VwcGVyQ2FzZSgpJiYodFtlXT1uLGRlbGV0ZSB0W2ldKX0pKX19LGZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIGk9bigyKSxvPW4oMTMpLHI9bigxNikscz1uKDUpLGE9bigxNyksbD1uKDIwKSxjPW4oMjEpLHU9bigxNCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxuKXt2YXIgZD10LmRhdGEsZj10LmhlYWRlcnM7aS5pc0Zvcm1EYXRhKGQpJiZkZWxldGUgZlsiQ29udGVudC1UeXBlIl07dmFyIGg9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKHQuYXV0aCl7dmFyIHA9dC5hdXRoLnVzZXJuYW1lfHwiIixtPXQuYXV0aC5wYXNzd29yZD91bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodC5hdXRoLnBhc3N3b3JkKSk6IiI7Zi5BdXRob3JpemF0aW9uPSJCYXNpYyAiK2J0b2EocCsiOiIrbSl9dmFyIGc9YSh0LmJhc2VVUkwsdC51cmwpO2lmKGgub3Blbih0Lm1ldGhvZC50b1VwcGVyQ2FzZSgpLHMoZyx0LnBhcmFtcyx0LnBhcmFtc1NlcmlhbGl6ZXIpLCEwKSxoLnRpbWVvdXQ9dC50aW1lb3V0LGgub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoaCYmND09PWgucmVhZHlTdGF0ZSYmKDAhPT1oLnN0YXR1c3x8aC5yZXNwb25zZVVSTCYmMD09PWgucmVzcG9uc2VVUkwuaW5kZXhPZigiZmlsZToiKSkpe3ZhciBpPSJnZXRBbGxSZXNwb25zZUhlYWRlcnMiaW4gaD9sKGguZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpOm51bGwscj17ZGF0YTp0LnJlc3BvbnNlVHlwZSYmInRleHQiIT09dC5yZXNwb25zZVR5cGU/aC5yZXNwb25zZTpoLnJlc3BvbnNlVGV4dCxzdGF0dXM6aC5zdGF0dXMsc3RhdHVzVGV4dDpoLnN0YXR1c1RleHQsaGVhZGVyczppLGNvbmZpZzp0LHJlcXVlc3Q6aH07byhlLG4sciksaD1udWxsfX0saC5vbmFib3J0PWZ1bmN0aW9uKCl7aCYmKG4odSgiUmVxdWVzdCBhYm9ydGVkIix0LCJFQ09OTkFCT1JURUQiLGgpKSxoPW51bGwpfSxoLm9uZXJyb3I9ZnVuY3Rpb24oKXtuKHUoIk5ldHdvcmsgRXJyb3IiLHQsbnVsbCxoKSksaD1udWxsfSxoLm9udGltZW91dD1mdW5jdGlvbigpe3ZhciBlPSJ0aW1lb3V0IG9mICIrdC50aW1lb3V0KyJtcyBleGNlZWRlZCI7dC50aW1lb3V0RXJyb3JNZXNzYWdlJiYoZT10LnRpbWVvdXRFcnJvck1lc3NhZ2UpLG4odShlLHQsIkVDT05OQUJPUlRFRCIsaCkpLGg9bnVsbH0saS5pc1N0YW5kYXJkQnJvd3NlckVudigpKXt2YXIgdj0odC53aXRoQ3JlZGVudGlhbHN8fGMoZykpJiZ0LnhzcmZDb29raWVOYW1lP3IucmVhZCh0LnhzcmZDb29raWVOYW1lKTp2b2lkIDA7diYmKGZbdC54c3JmSGVhZGVyTmFtZV09dil9aWYoInNldFJlcXVlc3RIZWFkZXIiaW4gaCYmaS5mb3JFYWNoKGYsKGZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZCYmImNvbnRlbnQtdHlwZSI9PT1lLnRvTG93ZXJDYXNlKCk/ZGVsZXRlIGZbZV06aC5zZXRSZXF1ZXN0SGVhZGVyKGUsdCl9KSksaS5pc1VuZGVmaW5lZCh0LndpdGhDcmVkZW50aWFscyl8fChoLndpdGhDcmVkZW50aWFscz0hIXQud2l0aENyZWRlbnRpYWxzKSx0LnJlc3BvbnNlVHlwZSl0cnl7aC5yZXNwb25zZVR5cGU9dC5yZXNwb25zZVR5cGV9Y2F0Y2goZSl7aWYoImpzb24iIT09dC5yZXNwb25zZVR5cGUpdGhyb3cgZX0iZnVuY3Rpb24iPT10eXBlb2YgdC5vbkRvd25sb2FkUHJvZ3Jlc3MmJmguYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLHQub25Eb3dubG9hZFByb2dyZXNzKSwiZnVuY3Rpb24iPT10eXBlb2YgdC5vblVwbG9hZFByb2dyZXNzJiZoLnVwbG9hZCYmaC51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLHQub25VcGxvYWRQcm9ncmVzcyksdC5jYW5jZWxUb2tlbiYmdC5jYW5jZWxUb2tlbi5wcm9taXNlLnRoZW4oKGZ1bmN0aW9uKHQpe2gmJihoLmFib3J0KCksbih0KSxoPW51bGwpfSkpLGR8fChkPW51bGwpLGguc2VuZChkKX0pKX19LGZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIGk9bigxNCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuKXt2YXIgbz1uLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztuLnN0YXR1cyYmbyYmIW8obi5zdGF0dXMpP2UoaSgiUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSAiK24uc3RhdHVzLG4uY29uZmlnLG51bGwsbi5yZXF1ZXN0LG4pKTp0KG4pfX0sZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDE1KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4sbyxyKXt2YXIgcz1uZXcgRXJyb3IodCk7cmV0dXJuIGkocyxlLG4sbyxyKX19LGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbixpLG8pe3JldHVybiB0LmNvbmZpZz1lLG4mJih0LmNvZGU9biksdC5yZXF1ZXN0PWksdC5yZXNwb25zZT1vLHQuaXNBeGlvc0Vycm9yPSEwLHQudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue21lc3NhZ2U6dGhpcy5tZXNzYWdlLG5hbWU6dGhpcy5uYW1lLGRlc2NyaXB0aW9uOnRoaXMuZGVzY3JpcHRpb24sbnVtYmVyOnRoaXMubnVtYmVyLGZpbGVOYW1lOnRoaXMuZmlsZU5hbWUsbGluZU51bWJlcjp0aGlzLmxpbmVOdW1iZXIsY29sdW1uTnVtYmVyOnRoaXMuY29sdW1uTnVtYmVyLHN0YWNrOnRoaXMuc3RhY2ssY29uZmlnOnRoaXMuY29uZmlnLGNvZGU6dGhpcy5jb2RlfX0sdH19LGZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIGk9bigyKTt0LmV4cG9ydHM9aS5pc1N0YW5kYXJkQnJvd3NlckVudigpP3t3cml0ZTpmdW5jdGlvbih0LGUsbixvLHIscyl7dmFyIGE9W107YS5wdXNoKHQrIj0iK2VuY29kZVVSSUNvbXBvbmVudChlKSksaS5pc051bWJlcihuKSYmYS5wdXNoKCJleHBpcmVzPSIrbmV3IERhdGUobikudG9HTVRTdHJpbmcoKSksaS5pc1N0cmluZyhvKSYmYS5wdXNoKCJwYXRoPSIrbyksaS5pc1N0cmluZyhyKSYmYS5wdXNoKCJkb21haW49IityKSwhMD09PXMmJmEucHVzaCgic2VjdXJlIiksZG9jdW1lbnQuY29va2llPWEuam9pbigiOyAiKX0scmVhZDpmdW5jdGlvbih0KXt2YXIgZT1kb2N1bWVudC5jb29raWUubWF0Y2gobmV3IFJlZ0V4cCgiKF58O1xccyopKCIrdCsiKT0oW147XSopIikpO3JldHVybiBlP2RlY29kZVVSSUNvbXBvbmVudChlWzNdKTpudWxsfSxyZW1vdmU6ZnVuY3Rpb24odCl7dGhpcy53cml0ZSh0LCIiLERhdGUubm93KCktODY0ZTUpfX06e3dyaXRlOmZ1bmN0aW9uKCl7fSxyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LHJlbW92ZTpmdW5jdGlvbigpe319fSxmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciBpPW4oMTgpLG89bigxOSk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJiFpKGUpP28odCxlKTplfX0sZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybi9eKFthLXpdW2EtelxkXCtcLVwuXSo6KT9cL1wvL2kudGVzdCh0KX19LGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBlP3QucmVwbGFjZSgvXC8rJC8sIiIpKyIvIitlLnJlcGxhY2UoL15cLysvLCIiKTp0fX0sZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDIpLG89WyJhZ2UiLCJhdXRob3JpemF0aW9uIiwiY29udGVudC1sZW5ndGgiLCJjb250ZW50LXR5cGUiLCJldGFnIiwiZXhwaXJlcyIsImZyb20iLCJob3N0IiwiaWYtbW9kaWZpZWQtc2luY2UiLCJpZi11bm1vZGlmaWVkLXNpbmNlIiwibGFzdC1tb2RpZmllZCIsImxvY2F0aW9uIiwibWF4LWZvcndhcmRzIiwicHJveHktYXV0aG9yaXphdGlvbiIsInJlZmVyZXIiLCJyZXRyeS1hZnRlciIsInVzZXItYWdlbnQiXTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGUsbixyLHM9e307cmV0dXJuIHQ/KGkuZm9yRWFjaCh0LnNwbGl0KCJcbiIpLChmdW5jdGlvbih0KXtpZihyPXQuaW5kZXhPZigiOiIpLGU9aS50cmltKHQuc3Vic3RyKDAscikpLnRvTG93ZXJDYXNlKCksbj1pLnRyaW0odC5zdWJzdHIocisxKSksZSl7aWYoc1tlXSYmby5pbmRleE9mKGUpPj0wKXJldHVybjtzW2VdPSJzZXQtY29va2llIj09PWU/KHNbZV0/c1tlXTpbXSkuY29uY2F0KFtuXSk6c1tlXT9zW2VdKyIsICIrbjpufX0pKSxzKTpzfX0sZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDIpO3QuZXhwb3J0cz1pLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/ZnVuY3Rpb24oKXt2YXIgdCxlPS8obXNpZXx0cmlkZW50KS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7ZnVuY3Rpb24gbyh0KXt2YXIgaT10O3JldHVybiBlJiYobi5zZXRBdHRyaWJ1dGUoImhyZWYiLGkpLGk9bi5ocmVmKSxuLnNldEF0dHJpYnV0ZSgiaHJlZiIsaSkse2hyZWY6bi5ocmVmLHByb3RvY29sOm4ucHJvdG9jb2w/bi5wcm90b2NvbC5yZXBsYWNlKC86JC8sIiIpOiIiLGhvc3Q6bi5ob3N0LHNlYXJjaDpuLnNlYXJjaD9uLnNlYXJjaC5yZXBsYWNlKC9eXD8vLCIiKToiIixoYXNoOm4uaGFzaD9uLmhhc2gucmVwbGFjZSgvXiMvLCIiKToiIixob3N0bmFtZTpuLmhvc3RuYW1lLHBvcnQ6bi5wb3J0LHBhdGhuYW1lOiIvIj09PW4ucGF0aG5hbWUuY2hhckF0KDApP24ucGF0aG5hbWU6Ii8iK24ucGF0aG5hbWV9fXJldHVybiB0PW8od2luZG93LmxvY2F0aW9uLmhyZWYpLGZ1bmN0aW9uKGUpe3ZhciBuPWkuaXNTdHJpbmcoZSk/byhlKTplO3JldHVybiBuLnByb3RvY29sPT09dC5wcm90b2NvbCYmbi5ob3N0PT09dC5ob3N0fX0oKTpmdW5jdGlvbigpe3JldHVybiEwfX0sZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2U9ZXx8e307dmFyIG49e30sbz1bInVybCIsIm1ldGhvZCIsImRhdGEiXSxyPVsiaGVhZGVycyIsImF1dGgiLCJwcm94eSIsInBhcmFtcyJdLHM9WyJiYXNlVVJMIiwidHJhbnNmb3JtUmVxdWVzdCIsInRyYW5zZm9ybVJlc3BvbnNlIiwicGFyYW1zU2VyaWFsaXplciIsInRpbWVvdXQiLCJ0aW1lb3V0TWVzc2FnZSIsIndpdGhDcmVkZW50aWFscyIsImFkYXB0ZXIiLCJyZXNwb25zZVR5cGUiLCJ4c3JmQ29va2llTmFtZSIsInhzcmZIZWFkZXJOYW1lIiwib25VcGxvYWRQcm9ncmVzcyIsIm9uRG93bmxvYWRQcm9ncmVzcyIsImRlY29tcHJlc3MiLCJtYXhDb250ZW50TGVuZ3RoIiwibWF4Qm9keUxlbmd0aCIsIm1heFJlZGlyZWN0cyIsInRyYW5zcG9ydCIsImh0dHBBZ2VudCIsImh0dHBzQWdlbnQiLCJjYW5jZWxUb2tlbiIsInNvY2tldFBhdGgiLCJyZXNwb25zZUVuY29kaW5nIl0sYT1bInZhbGlkYXRlU3RhdHVzIl07ZnVuY3Rpb24gbCh0LGUpe3JldHVybiBpLmlzUGxhaW5PYmplY3QodCkmJmkuaXNQbGFpbk9iamVjdChlKT9pLm1lcmdlKHQsZSk6aS5pc1BsYWluT2JqZWN0KGUpP2kubWVyZ2Uoe30sZSk6aS5pc0FycmF5KGUpP2Uuc2xpY2UoKTplfWZ1bmN0aW9uIGMobyl7aS5pc1VuZGVmaW5lZChlW29dKT9pLmlzVW5kZWZpbmVkKHRbb10pfHwobltvXT1sKHZvaWQgMCx0W29dKSk6bltvXT1sKHRbb10sZVtvXSl9aS5mb3JFYWNoKG8sKGZ1bmN0aW9uKHQpe2kuaXNVbmRlZmluZWQoZVt0XSl8fChuW3RdPWwodm9pZCAwLGVbdF0pKX0pKSxpLmZvckVhY2gocixjKSxpLmZvckVhY2gocywoZnVuY3Rpb24obyl7aS5pc1VuZGVmaW5lZChlW29dKT9pLmlzVW5kZWZpbmVkKHRbb10pfHwobltvXT1sKHZvaWQgMCx0W29dKSk6bltvXT1sKHZvaWQgMCxlW29dKX0pKSxpLmZvckVhY2goYSwoZnVuY3Rpb24oaSl7aSBpbiBlP25baV09bCh0W2ldLGVbaV0pOmkgaW4gdCYmKG5baV09bCh2b2lkIDAsdFtpXSkpfSkpO3ZhciB1PW8uY29uY2F0KHIpLmNvbmNhdChzKS5jb25jYXQoYSksZD1PYmplY3Qua2V5cyh0KS5jb25jYXQoT2JqZWN0LmtleXMoZSkpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuLTE9PT11LmluZGV4T2YodCl9KSk7cmV0dXJuIGkuZm9yRWFjaChkLGMpLG59fSxmdW5jdGlvbih0LGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQpe3RoaXMubWVzc2FnZT10fW4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIkNhbmNlbCIrKHRoaXMubWVzc2FnZT8iOiAiK3RoaXMubWVzc2FnZToiIil9LG4ucHJvdG90eXBlLl9fQ0FOQ0VMX189ITAsdC5leHBvcnRzPW59LGZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIGk9bigyMyk7ZnVuY3Rpb24gbyh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJleGVjdXRvciBtdXN0IGJlIGEgZnVuY3Rpb24uIik7dmFyIGU7dGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKChmdW5jdGlvbih0KXtlPXR9KSk7dmFyIG49dGhpczt0KChmdW5jdGlvbih0KXtuLnJlYXNvbnx8KG4ucmVhc29uPW5ldyBpKHQpLGUobi5yZWFzb24pKX0pKX1vLnByb3RvdHlwZS50aHJvd0lmUmVxdWVzdGVkPWZ1bmN0aW9uKCl7aWYodGhpcy5yZWFzb24pdGhyb3cgdGhpcy5yZWFzb259LG8uc291cmNlPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJue3Rva2VuOm5ldyBvKChmdW5jdGlvbihlKXt0PWV9KSksY2FuY2VsOnR9fSx0LmV4cG9ydHM9b30sZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseShudWxsLGUpfX19XSl9KSksCi8qIQogICogQm9vdHN0cmFwIHY1LjAuMC1hbHBoYTEgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pCiAgKiBDb3B5cmlnaHQgMjAxMS0yMDIwIFRoZSBCb290c3RyYXAgQXV0aG9ycyAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2dyYXBocy9jb250cmlidXRvcnMpCiAgKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSkKICAqLwpmdW5jdGlvbih0LGUpeyJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9ZSgpOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKGUpOih0PXR8fHNlbGYpLmJvb3RzdHJhcD1lKCl9KHRoaXMsKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTtpLmVudW1lcmFibGU9aS5lbnVtZXJhYmxlfHwhMSxpLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gaSYmKGkud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGkua2V5LGkpfX1mdW5jdGlvbiBlKGUsbixpKXtyZXR1cm4gbiYmdChlLnByb3RvdHlwZSxuKSxpJiZ0KGUsaSksZX1mdW5jdGlvbiBuKHQsZSxuKXtyZXR1cm4gZSBpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPW4sdH1mdW5jdGlvbiBpKHQsZSl7dmFyIG49T2JqZWN0LmtleXModCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KTtlJiYoaT1pLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxlKS5lbnVtZXJhYmxlfSkpKSxuLnB1c2guYXBwbHkobixpKX1yZXR1cm4gbn1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciBvPW51bGwhPWFyZ3VtZW50c1tlXT9hcmd1bWVudHNbZV06e307ZSUyP2koT2JqZWN0KG8pLCEwKS5mb3JFYWNoKChmdW5jdGlvbihlKXtuKHQsZSxvW2VdKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyh0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG8pKTppKE9iamVjdChvKSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sZSkpfSkpfXJldHVybiB0fXZhciByLHMsYSxsLGM9ZnVuY3Rpb24odCl7ZG97dCs9TWF0aC5mbG9vcigxZTYqTWF0aC5yYW5kb20oKSl9d2hpbGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCkpO3JldHVybiB0fSx1PWZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2V0QXR0cmlidXRlKCJkYXRhLXRhcmdldCIpO2lmKCFlfHwiIyI9PT1lKXt2YXIgbj10LmdldEF0dHJpYnV0ZSgiaHJlZiIpO2U9biYmIiMiIT09bj9uLnRyaW0oKTpudWxsfXJldHVybiBlfSxkPWZ1bmN0aW9uKHQpe3ZhciBlPXUodCk7cmV0dXJuIGUmJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSk/ZTpudWxsfSxmPWZ1bmN0aW9uKHQpe3ZhciBlPXUodCk7cmV0dXJuIGU/ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKTpudWxsfSxoPWZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiAwO3ZhciBlPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLG49ZS50cmFuc2l0aW9uRHVyYXRpb24saT1lLnRyYW5zaXRpb25EZWxheSxvPXBhcnNlRmxvYXQobikscj1wYXJzZUZsb2F0KGkpO3JldHVybiBvfHxyPyhuPW4uc3BsaXQoIiwiKVswXSxpPWkuc3BsaXQoIiwiKVswXSwxZTMqKHBhcnNlRmxvYXQobikrcGFyc2VGbG9hdChpKSkpOjB9LHA9ZnVuY3Rpb24odCl7dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgidHJhbnNpdGlvbmVuZCIpKX0sbT1mdW5jdGlvbih0KXtyZXR1cm4odFswXXx8dCkubm9kZVR5cGV9LGc9ZnVuY3Rpb24odCxlKXt2YXIgbj0hMSxpPWUrNTt0LmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLChmdW5jdGlvbiBlKCl7bj0hMCx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLGUpfSkpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bnx8cCh0KX0pLGkpfSx2PWZ1bmN0aW9uKHQsZSxuKXtPYmplY3Qua2V5cyhuKS5mb3JFYWNoKChmdW5jdGlvbihpKXt2YXIgbyxyPW5baV0scz1lW2ldLGE9cyYmbShzKT8iZWxlbWVudCI6bnVsbD09KG89cyk/IiIrbzp7fS50b1N0cmluZy5jYWxsKG8pLm1hdGNoKC9ccyhbYS16XSspL2kpWzFdLnRvTG93ZXJDYXNlKCk7aWYoIW5ldyBSZWdFeHAocikudGVzdChhKSl0aHJvdyBuZXcgRXJyb3IodC50b1VwcGVyQ2FzZSgpKyc6IE9wdGlvbiAiJytpKyciIHByb3ZpZGVkIHR5cGUgIicrYSsnIiBidXQgZXhwZWN0ZWQgdHlwZSAiJytyKyciLicpfSkpfSxiPWZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiExO2lmKHQuc3R5bGUmJnQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnN0eWxlKXt2YXIgZT1nZXRDb21wdXRlZFN0eWxlKHQpLG49Z2V0Q29tcHV0ZWRTdHlsZSh0LnBhcmVudE5vZGUpO3JldHVybiJub25lIiE9PWUuZGlzcGxheSYmIm5vbmUiIT09bi5kaXNwbGF5JiYiaGlkZGVuIiE9PWUudmlzaWJpbGl0eX1yZXR1cm4hMX0sXz1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpe319LHk9ZnVuY3Rpb24odCl7cmV0dXJuIHQub2Zmc2V0SGVpZ2h0fSx3PWZ1bmN0aW9uKCl7dmFyIHQ9d2luZG93LmpRdWVyeTtyZXR1cm4gdCYmIWRvY3VtZW50LmJvZHkuaGFzQXR0cmlidXRlKCJkYXRhLW5vLWpxdWVyeSIpP3Q6bnVsbH0sRT0ocj17fSxzPTEse3NldDpmdW5jdGlvbih0LGUsbil7dm9pZCAwPT09dC5rZXkmJih0LmtleT17a2V5OmUsaWQ6c30scysrKSxyW3Qua2V5LmlkXT1ufSxnZXQ6ZnVuY3Rpb24odCxlKXtpZighdHx8dm9pZCAwPT09dC5rZXkpcmV0dXJuIG51bGw7dmFyIG49dC5rZXk7cmV0dXJuIG4ua2V5PT09ZT9yW24uaWRdOm51bGx9LGRlbGV0ZTpmdW5jdGlvbih0LGUpe2lmKHZvaWQgMCE9PXQua2V5KXt2YXIgbj10LmtleTtuLmtleT09PWUmJihkZWxldGUgcltuLmlkXSxkZWxldGUgdC5rZXkpfX19KSxDPWZ1bmN0aW9uKHQsZSxuKXtFLnNldCh0LGUsbil9LHg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gRS5nZXQodCxlKX0sVD1mdW5jdGlvbih0LGUpe0UuZGVsZXRlKHQsZSl9LFM9RWxlbWVudC5wcm90b3R5cGUucXVlcnlTZWxlY3RvckFsbCxMPUVsZW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3Isaz0oYT1uZXcgQ3VzdG9tRXZlbnQoIkJvb3RzdHJhcCIse2NhbmNlbGFibGU6ITB9KSwobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuYWRkRXZlbnRMaXN0ZW5lcigiQm9vdHN0cmFwIiwoZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0pKSxhLnByZXZlbnREZWZhdWx0KCksbC5kaXNwYXRjaEV2ZW50KGEpLGEuZGVmYXVsdFByZXZlbnRlZCksQT0vOnNjb3BlXGIvOyhmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RyeXt0LnF1ZXJ5U2VsZWN0b3JBbGwoIjpzY29wZSAqIil9Y2F0Y2godCl7cmV0dXJuITF9cmV0dXJuITB9KSgpfHwoUz1mdW5jdGlvbih0KXtpZighQS50ZXN0KHQpKXJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwodCk7dmFyIGU9Qm9vbGVhbih0aGlzLmlkKTtlfHwodGhpcy5pZD1jKCJzY29wZSIpKTt2YXIgbj1udWxsO3RyeXt0PXQucmVwbGFjZShBLCIjIit0aGlzLmlkKSxuPXRoaXMucXVlcnlTZWxlY3RvckFsbCh0KX1maW5hbGx5e2V8fHRoaXMucmVtb3ZlQXR0cmlidXRlKCJpZCIpfXJldHVybiBufSxMPWZ1bmN0aW9uKHQpe2lmKCFBLnRlc3QodCkpcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcih0KTt2YXIgZT1TLmNhbGwodGhpcyx0KTtyZXR1cm4gdm9pZCAwIT09ZVswXT9lWzBdOm51bGx9KTt2YXIgTz13KCksTj0vW14uXSooPz1cLi4qKVwufC4qLyxEPS9cLi4qLyxqPS86OlxkKyQvLEk9e30sTT0xLFA9e21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQifSxIPVsiY2xpY2siLCJkYmxjbGljayIsIm1vdXNldXAiLCJtb3VzZWRvd24iLCJjb250ZXh0bWVudSIsIm1vdXNld2hlZWwiLCJET01Nb3VzZVNjcm9sbCIsIm1vdXNlb3ZlciIsIm1vdXNlb3V0IiwibW91c2Vtb3ZlIiwic2VsZWN0c3RhcnQiLCJzZWxlY3RlbmQiLCJrZXlkb3duIiwia2V5cHJlc3MiLCJrZXl1cCIsIm9yaWVudGF0aW9uY2hhbmdlIiwidG91Y2hzdGFydCIsInRvdWNobW92ZSIsInRvdWNoZW5kIiwidG91Y2hjYW5jZWwiLCJwb2ludGVyZG93biIsInBvaW50ZXJtb3ZlIiwicG9pbnRlcnVwIiwicG9pbnRlcmxlYXZlIiwicG9pbnRlcmNhbmNlbCIsImdlc3R1cmVzdGFydCIsImdlc3R1cmVjaGFuZ2UiLCJnZXN0dXJlZW5kIiwiZm9jdXMiLCJibHVyIiwiY2hhbmdlIiwicmVzZXQiLCJzZWxlY3QiLCJzdWJtaXQiLCJmb2N1c2luIiwiZm9jdXNvdXQiLCJsb2FkIiwidW5sb2FkIiwiYmVmb3JldW5sb2FkIiwicmVzaXplIiwibW92ZSIsIkRPTUNvbnRlbnRMb2FkZWQiLCJyZWFkeXN0YXRlY2hhbmdlIiwiZXJyb3IiLCJhYm9ydCIsInNjcm9sbCJdO2Z1bmN0aW9uIHEodCxlKXtyZXR1cm4gZSYmZSsiOjoiK00rK3x8dC51aWRFdmVudHx8TSsrfWZ1bmN0aW9uIEIodCl7dmFyIGU9cSh0KTtyZXR1cm4gdC51aWRFdmVudD1lLElbZV09SVtlXXx8e30sSVtlXX1mdW5jdGlvbiB6KHQsZSxuKXt2b2lkIDA9PT1uJiYobj1udWxsKTtmb3IodmFyIGk9T2JqZWN0LmtleXModCksbz0wLHI9aS5sZW5ndGg7bzxyO28rKyl7dmFyIHM9dFtpW29dXTtpZihzLm9yaWdpbmFsSGFuZGxlcj09PWUmJnMuZGVsZWdhdGlvblNlbGVjdG9yPT09bilyZXR1cm4gc31yZXR1cm4gbnVsbH1mdW5jdGlvbiBSKHQsZSxuKXt2YXIgaT0ic3RyaW5nIj09dHlwZW9mIGUsbz1pP246ZSxyPXQucmVwbGFjZShELCIiKSxzPVBbcl07cmV0dXJuIHMmJihyPXMpLEguaW5kZXhPZihyKT4tMXx8KHI9dCksW2ksbyxyXX1mdW5jdGlvbiBGKHQsZSxuLGksbyl7aWYoInN0cmluZyI9PXR5cGVvZiBlJiZ0KXtufHwobj1pLGk9bnVsbCk7dmFyIHI9UihlLG4saSkscz1yWzBdLGE9clsxXSxsPXJbMl0sYz1CKHQpLHU9Y1tsXXx8KGNbbF09e30pLGQ9eih1LGEscz9uOm51bGwpO2lmKGQpZC5vbmVPZmY9ZC5vbmVPZmYmJm87ZWxzZXt2YXIgZj1xKGEsZS5yZXBsYWNlKE4sIiIpKSxoPXM/ZnVuY3Rpb24odCxlLG4pe3JldHVybiBmdW5jdGlvbiBpKG8pe2Zvcih2YXIgcj10LnF1ZXJ5U2VsZWN0b3JBbGwoZSkscz1vLnRhcmdldDtzJiZzIT09dGhpcztzPXMucGFyZW50Tm9kZSlmb3IodmFyIGE9ci5sZW5ndGg7YS0tOylpZihyW2FdPT09cylyZXR1cm4gaS5vbmVPZmYmJlcub2ZmKHQsby50eXBlLG4pLG4uYXBwbHkocyxbb10pO3JldHVybiBudWxsfX0odCxuLGkpOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uIG4oaSl7cmV0dXJuIG4ub25lT2ZmJiZXLm9mZih0LGkudHlwZSxlKSxlLmFwcGx5KHQsW2ldKX19KHQsbik7aC5kZWxlZ2F0aW9uU2VsZWN0b3I9cz9uOm51bGwsaC5vcmlnaW5hbEhhbmRsZXI9YSxoLm9uZU9mZj1vLGgudWlkRXZlbnQ9Zix1W2ZdPWgsdC5hZGRFdmVudExpc3RlbmVyKGwsaCxzKX19fWZ1bmN0aW9uIFUodCxlLG4saSxvKXt2YXIgcj16KGVbbl0saSxvKTtyJiYodC5yZW1vdmVFdmVudExpc3RlbmVyKG4scixCb29sZWFuKG8pKSxkZWxldGUgZVtuXVtyLnVpZEV2ZW50XSl9dmFyIFc9e29uOmZ1bmN0aW9uKHQsZSxuLGkpe0YodCxlLG4saSwhMSl9LG9uZTpmdW5jdGlvbih0LGUsbixpKXtGKHQsZSxuLGksITApfSxvZmY6ZnVuY3Rpb24odCxlLG4saSl7aWYoInN0cmluZyI9PXR5cGVvZiBlJiZ0KXt2YXIgbz1SKGUsbixpKSxyPW9bMF0scz1vWzFdLGE9b1syXSxsPWEhPT1lLGM9Qih0KSx1PSIuIj09PWUuY2hhckF0KDApO2lmKHZvaWQgMD09PXMpe3UmJk9iamVjdC5rZXlzKGMpLmZvckVhY2goKGZ1bmN0aW9uKG4peyFmdW5jdGlvbih0LGUsbixpKXt2YXIgbz1lW25dfHx7fTtPYmplY3Qua2V5cyhvKS5mb3JFYWNoKChmdW5jdGlvbihyKXtpZihyLmluZGV4T2YoaSk+LTEpe3ZhciBzPW9bcl07VSh0LGUsbixzLm9yaWdpbmFsSGFuZGxlcixzLmRlbGVnYXRpb25TZWxlY3Rvcil9fSkpfSh0LGMsbixlLnNsaWNlKDEpKX0pKTt2YXIgZD1jW2FdfHx7fTtPYmplY3Qua2V5cyhkKS5mb3JFYWNoKChmdW5jdGlvbihuKXt2YXIgaT1uLnJlcGxhY2UoaiwiIik7aWYoIWx8fGUuaW5kZXhPZihpKT4tMSl7dmFyIG89ZFtuXTtVKHQsYyxhLG8ub3JpZ2luYWxIYW5kbGVyLG8uZGVsZWdhdGlvblNlbGVjdG9yKX19KSl9ZWxzZXtpZighY3x8IWNbYV0pcmV0dXJuO1UodCxjLGEscyxyP246bnVsbCl9fX0sdHJpZ2dlcjpmdW5jdGlvbih0LGUsbil7aWYoInN0cmluZyIhPXR5cGVvZiBlfHwhdClyZXR1cm4gbnVsbDt2YXIgaSxvPWUucmVwbGFjZShELCIiKSxyPWUhPT1vLHM9SC5pbmRleE9mKG8pPi0xLGE9ITAsbD0hMCxjPSExLHU9bnVsbDtyZXR1cm4gciYmTyYmKGk9Ty5FdmVudChlLG4pLE8odCkudHJpZ2dlcihpKSxhPSFpLmlzUHJvcGFnYXRpb25TdG9wcGVkKCksbD0haS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpLGM9aS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkscz8odT1kb2N1bWVudC5jcmVhdGVFdmVudCgiSFRNTEV2ZW50cyIpKS5pbml0RXZlbnQobyxhLCEwKTp1PW5ldyBDdXN0b21FdmVudChlLHtidWJibGVzOmEsY2FuY2VsYWJsZTohMH0pLHZvaWQgMCE9PW4mJk9iamVjdC5rZXlzKG4pLmZvckVhY2goKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHQse2dldDpmdW5jdGlvbigpe3JldHVybiBuW3RdfX0pfSkpLGMmJih1LnByZXZlbnREZWZhdWx0KCksa3x8T2JqZWN0LmRlZmluZVByb3BlcnR5KHUsImRlZmF1bHRQcmV2ZW50ZWQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH19KSksbCYmdC5kaXNwYXRjaEV2ZW50KHUpLHUuZGVmYXVsdFByZXZlbnRlZCYmdm9pZCAwIT09aSYmaS5wcmV2ZW50RGVmYXVsdCgpLHV9fSxWPSJhbGVydCIsWT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5fZWxlbWVudD10LHRoaXMuX2VsZW1lbnQmJkModCwiYnMuYWxlcnQiLHRoaXMpfXZhciBuPXQucHJvdG90eXBlO3JldHVybiBuLmNsb3NlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2VsZW1lbnQ7dCYmKGU9dGhpcy5fZ2V0Um9vdEVsZW1lbnQodCkpO3ZhciBuPXRoaXMuX3RyaWdnZXJDbG9zZUV2ZW50KGUpO251bGw9PT1ufHxuLmRlZmF1bHRQcmV2ZW50ZWR8fHRoaXMuX3JlbW92ZUVsZW1lbnQoZSl9LG4uZGlzcG9zZT1mdW5jdGlvbigpe1QodGhpcy5fZWxlbWVudCwiYnMuYWxlcnQiKSx0aGlzLl9lbGVtZW50PW51bGx9LG4uX2dldFJvb3RFbGVtZW50PWZ1bmN0aW9uKHQpe3JldHVybiBmKHQpfHx0LmNsb3Nlc3QoIi5hbGVydCIpfSxuLl90cmlnZ2VyQ2xvc2VFdmVudD1mdW5jdGlvbih0KXtyZXR1cm4gVy50cmlnZ2VyKHQsImNsb3NlLmJzLmFsZXJ0Iil9LG4uX3JlbW92ZUVsZW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZih0LmNsYXNzTGlzdC5yZW1vdmUoInNob3ciKSx0LmNsYXNzTGlzdC5jb250YWlucygiZmFkZSIpKXt2YXIgbj1oKHQpO1cub25lKHQsInRyYW5zaXRpb25lbmQiLChmdW5jdGlvbigpe3JldHVybiBlLl9kZXN0cm95RWxlbWVudCh0KX0pKSxnKHQsbil9ZWxzZSB0aGlzLl9kZXN0cm95RWxlbWVudCh0KX0sbi5fZGVzdHJveUVsZW1lbnQ9ZnVuY3Rpb24odCl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksVy50cmlnZ2VyKHQsImNsb3NlZC5icy5hbGVydCIpfSx0LmpRdWVyeUludGVyZmFjZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBuPXgodGhpcywiYnMuYWxlcnQiKTtufHwobj1uZXcgdCh0aGlzKSksImNsb3NlIj09PWUmJm5bZV0odGhpcyl9KSl9LHQuaGFuZGxlRGlzbWlzcz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLHQuY2xvc2UodGhpcyl9fSx0LmdldEluc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiB4KHQsImJzLmFsZXJ0Iil9LGUodCxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNS4wLjAtYWxwaGExIn19XSksdH0oKTtXLm9uKGRvY3VtZW50LCJjbGljay5icy5hbGVydC5kYXRhLWFwaSIsJ1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nLFkuaGFuZGxlRGlzbWlzcyhuZXcgWSkpO3ZhciBYPXcoKTtpZihYKXt2YXIgUT1YLmZuW1ZdO1guZm5bVl09WS5qUXVlcnlJbnRlcmZhY2UsWC5mbltWXS5Db25zdHJ1Y3Rvcj1ZLFguZm5bVl0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBYLmZuW1ZdPVEsWS5qUXVlcnlJbnRlcmZhY2V9fXZhciBHPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLl9lbGVtZW50PXQsQyh0LCJicy5idXR0b24iLHRoaXMpfXZhciBuPXQucHJvdG90eXBlO3JldHVybiBuLnRvZ2dsZT1mdW5jdGlvbigpe3RoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIikpfSxuLmRpc3Bvc2U9ZnVuY3Rpb24oKXtUKHRoaXMuX2VsZW1lbnQsImJzLmJ1dHRvbiIpLHRoaXMuX2VsZW1lbnQ9bnVsbH0sdC5qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt2YXIgbj14KHRoaXMsImJzLmJ1dHRvbiIpO258fChuPW5ldyB0KHRoaXMpKSwidG9nZ2xlIj09PWUmJm5bZV0oKX0pKX0sdC5nZXRJbnN0YW5jZT1mdW5jdGlvbih0KXtyZXR1cm4geCh0LCJicy5idXR0b24iKX0sZSh0LG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI1LjAuMC1hbHBoYTEifX1dKSx0fSgpO1cub24oZG9jdW1lbnQsImNsaWNrLmJzLmJ1dHRvbi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0iYnV0dG9uIl0nLChmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCk7dmFyIGU9dC50YXJnZXQuY2xvc2VzdCgnW2RhdGEtdG9nZ2xlPSJidXR0b24iXScpLG49eChlLCJicy5idXR0b24iKTtufHwobj1uZXcgRyhlKSksbi50b2dnbGUoKX0pKTt2YXIgSz13KCk7aWYoSyl7dmFyIFo9Sy5mbi5idXR0b247Sy5mbi5idXR0b249Ry5qUXVlcnlJbnRlcmZhY2UsSy5mbi5idXR0b24uQ29uc3RydWN0b3I9RyxLLmZuLmJ1dHRvbi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIEsuZm4uYnV0dG9uPVosRy5qUXVlcnlJbnRlcmZhY2V9fWZ1bmN0aW9uICQodCl7cmV0dXJuInRydWUiPT09dHx8ImZhbHNlIiE9PXQmJih0PT09TnVtYmVyKHQpLnRvU3RyaW5nKCk/TnVtYmVyKHQpOiIiPT09dHx8Im51bGwiPT09dD9udWxsOnQpfWZ1bmN0aW9uIEoodCl7cmV0dXJuIHQucmVwbGFjZSgvW0EtWl0vZywoZnVuY3Rpb24odCl7cmV0dXJuIi0iK3QudG9Mb3dlckNhc2UoKX0pKX12YXIgdHQ9e3NldERhdGFBdHRyaWJ1dGU6ZnVuY3Rpb24odCxlLG4pe3Quc2V0QXR0cmlidXRlKCJkYXRhLSIrSihlKSxuKX0scmVtb3ZlRGF0YUF0dHJpYnV0ZTpmdW5jdGlvbih0LGUpe3QucmVtb3ZlQXR0cmlidXRlKCJkYXRhLSIrSihlKSl9LGdldERhdGFBdHRyaWJ1dGVzOmZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybnt9O3ZhciBlPW8oe30sdC5kYXRhc2V0KTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZVt0XT0kKGVbdF0pfSkpLGV9LGdldERhdGFBdHRyaWJ1dGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gJCh0LmdldEF0dHJpYnV0ZSgiZGF0YS0iK0ooZSkpKX0sb2Zmc2V0OmZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue3RvcDplLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCxsZWZ0OmUubGVmdCtkb2N1bWVudC5ib2R5LnNjcm9sbExlZnR9fSxwb3NpdGlvbjpmdW5jdGlvbih0KXtyZXR1cm57dG9wOnQub2Zmc2V0VG9wLGxlZnQ6dC5vZmZzZXRMZWZ0fX0sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24odCxlKXt0JiYodC5jbGFzc0xpc3QuY29udGFpbnMoZSk/dC5jbGFzc0xpc3QucmVtb3ZlKGUpOnQuY2xhc3NMaXN0LmFkZChlKSl9fSxldD17bWF0Y2hlczpmdW5jdGlvbih0LGUpe3JldHVybiB0Lm1hdGNoZXMoZSl9LGZpbmQ6ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSwobj1bXSkuY29uY2F0LmFwcGx5KG4sUy5jYWxsKGUsdCkpfSxmaW5kT25lOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCksTC5jYWxsKGUsdCl9LGNoaWxkcmVuOmZ1bmN0aW9uKHQsZSl7dmFyIG4saT0obj1bXSkuY29uY2F0LmFwcGx5KG4sdC5jaGlsZHJlbik7cmV0dXJuIGkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5tYXRjaGVzKGUpfSkpfSxwYXJlbnRzOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPVtdLGk9dC5wYXJlbnROb2RlO2kmJmkubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmMyE9PWkubm9kZVR5cGU7KXRoaXMubWF0Y2hlcyhpLGUpJiZuLnB1c2goaSksaT1pLnBhcmVudE5vZGU7cmV0dXJuIG59LHByZXY6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO247KXtpZihuLm1hdGNoZXMoZSkpcmV0dXJuW25dO249bi5wcmV2aW91c0VsZW1lbnRTaWJsaW5nfXJldHVybltdfSxuZXh0OmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubmV4dEVsZW1lbnRTaWJsaW5nO247KXtpZih0aGlzLm1hdGNoZXMobixlKSlyZXR1cm5bbl07bj1uLm5leHRFbGVtZW50U2libGluZ31yZXR1cm5bXX19LG50PSJjYXJvdXNlbCIsaXQ9Ii5icy5jYXJvdXNlbCIsb3Q9e2ludGVydmFsOjVlMyxrZXlib2FyZDohMCxzbGlkZTohMSxwYXVzZToiaG92ZXIiLHdyYXA6ITAsdG91Y2g6ITB9LHJ0PXtpbnRlcnZhbDoiKG51bWJlcnxib29sZWFuKSIsa2V5Ym9hcmQ6ImJvb2xlYW4iLHNsaWRlOiIoYm9vbGVhbnxzdHJpbmcpIixwYXVzZToiKHN0cmluZ3xib29sZWFuKSIsd3JhcDoiYm9vbGVhbiIsdG91Y2g6ImJvb2xlYW4ifSxzdD17VE9VQ0g6InRvdWNoIixQRU46InBlbiJ9LGF0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe3RoaXMuX2l0ZW1zPW51bGwsdGhpcy5faW50ZXJ2YWw9bnVsbCx0aGlzLl9hY3RpdmVFbGVtZW50PW51bGwsdGhpcy5faXNQYXVzZWQ9ITEsdGhpcy5faXNTbGlkaW5nPSExLHRoaXMudG91Y2hUaW1lb3V0PW51bGwsdGhpcy50b3VjaFN0YXJ0WD0wLHRoaXMudG91Y2hEZWx0YVg9MCx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMuX2VsZW1lbnQ9dCx0aGlzLl9pbmRpY2F0b3JzRWxlbWVudD1ldC5maW5kT25lKCIuY2Fyb3VzZWwtaW5kaWNhdG9ycyIsdGhpcy5fZWxlbWVudCksdGhpcy5fdG91Y2hTdXBwb3J0ZWQ9Im9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR8fG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wLHRoaXMuX3BvaW50ZXJFdmVudD1Cb29sZWFuKHdpbmRvdy5Qb2ludGVyRXZlbnQpLHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKCksQyh0LCJicy5jYXJvdXNlbCIsdGhpcyl9dmFyIG49dC5wcm90b3R5cGU7cmV0dXJuIG4ubmV4dD1mdW5jdGlvbigpe3RoaXMuX2lzU2xpZGluZ3x8dGhpcy5fc2xpZGUoIm5leHQiKX0sbi5uZXh0V2hlblZpc2libGU9ZnVuY3Rpb24oKXshZG9jdW1lbnQuaGlkZGVuJiZiKHRoaXMuX2VsZW1lbnQpJiZ0aGlzLm5leHQoKX0sbi5wcmV2PWZ1bmN0aW9uKCl7dGhpcy5faXNTbGlkaW5nfHx0aGlzLl9zbGlkZSgicHJldiIpfSxuLnBhdXNlPWZ1bmN0aW9uKHQpe3R8fCh0aGlzLl9pc1BhdXNlZD0hMCksZXQuZmluZE9uZSgiLmNhcm91c2VsLWl0ZW0tbmV4dCwgLmNhcm91c2VsLWl0ZW0tcHJldiIsdGhpcy5fZWxlbWVudCkmJihwKHRoaXMuX2VsZW1lbnQpLHRoaXMuY3ljbGUoITApKSxjbGVhckludGVydmFsKHRoaXMuX2ludGVydmFsKSx0aGlzLl9pbnRlcnZhbD1udWxsfSxuLmN5Y2xlPWZ1bmN0aW9uKHQpe3R8fCh0aGlzLl9pc1BhdXNlZD0hMSksdGhpcy5faW50ZXJ2YWwmJihjbGVhckludGVydmFsKHRoaXMuX2ludGVydmFsKSx0aGlzLl9pbnRlcnZhbD1udWxsKSx0aGlzLl9jb25maWcmJnRoaXMuX2NvbmZpZy5pbnRlcnZhbCYmIXRoaXMuX2lzUGF1c2VkJiYodGhpcy5faW50ZXJ2YWw9c2V0SW50ZXJ2YWwoKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT90aGlzLm5leHRXaGVuVmlzaWJsZTp0aGlzLm5leHQpLmJpbmQodGhpcyksdGhpcy5fY29uZmlnLmludGVydmFsKSl9LG4udG89ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt0aGlzLl9hY3RpdmVFbGVtZW50PWV0LmZpbmRPbmUoIi5hY3RpdmUuY2Fyb3VzZWwtaXRlbSIsdGhpcy5fZWxlbWVudCk7dmFyIG49dGhpcy5fZ2V0SXRlbUluZGV4KHRoaXMuX2FjdGl2ZUVsZW1lbnQpO2lmKCEodD50aGlzLl9pdGVtcy5sZW5ndGgtMXx8dDwwKSlpZih0aGlzLl9pc1NsaWRpbmcpVy5vbmUodGhpcy5fZWxlbWVudCwic2xpZC5icy5jYXJvdXNlbCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUudG8odCl9KSk7ZWxzZXtpZihuPT09dClyZXR1cm4gdGhpcy5wYXVzZSgpLHZvaWQgdGhpcy5jeWNsZSgpO3ZhciBpPXQ+bj8ibmV4dCI6InByZXYiO3RoaXMuX3NsaWRlKGksdGhpcy5faXRlbXNbdF0pfX0sbi5kaXNwb3NlPWZ1bmN0aW9uKCl7Vy5vZmYodGhpcy5fZWxlbWVudCxpdCksVCh0aGlzLl9lbGVtZW50LCJicy5jYXJvdXNlbCIpLHRoaXMuX2l0ZW1zPW51bGwsdGhpcy5fY29uZmlnPW51bGwsdGhpcy5fZWxlbWVudD1udWxsLHRoaXMuX2ludGVydmFsPW51bGwsdGhpcy5faXNQYXVzZWQ9bnVsbCx0aGlzLl9pc1NsaWRpbmc9bnVsbCx0aGlzLl9hY3RpdmVFbGVtZW50PW51bGwsdGhpcy5faW5kaWNhdG9yc0VsZW1lbnQ9bnVsbH0sbi5fZ2V0Q29uZmlnPWZ1bmN0aW9uKHQpe3JldHVybiB0PW8obyh7fSxvdCksdCksdihudCx0LHJ0KSx0fSxuLl9oYW5kbGVTd2lwZT1mdW5jdGlvbigpe3ZhciB0PU1hdGguYWJzKHRoaXMudG91Y2hEZWx0YVgpO2lmKCEodDw9NDApKXt2YXIgZT10L3RoaXMudG91Y2hEZWx0YVg7dGhpcy50b3VjaERlbHRhWD0wLGU+MCYmdGhpcy5wcmV2KCksZTwwJiZ0aGlzLm5leHQoKX19LG4uX2FkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLl9jb25maWcua2V5Ym9hcmQmJlcub24odGhpcy5fZWxlbWVudCwia2V5ZG93bi5icy5jYXJvdXNlbCIsKGZ1bmN0aW9uKGUpe3JldHVybiB0Ll9rZXlkb3duKGUpfSkpLCJob3ZlciI9PT10aGlzLl9jb25maWcucGF1c2UmJihXLm9uKHRoaXMuX2VsZW1lbnQsIm1vdXNlZW50ZXIuYnMuY2Fyb3VzZWwiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5wYXVzZShlKX0pKSxXLm9uKHRoaXMuX2VsZW1lbnQsIm1vdXNlbGVhdmUuYnMuY2Fyb3VzZWwiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5jeWNsZShlKX0pKSksdGhpcy5fY29uZmlnLnRvdWNoJiZ0aGlzLl90b3VjaFN1cHBvcnRlZCYmdGhpcy5fYWRkVG91Y2hFdmVudExpc3RlbmVycygpfSxuLl9hZGRUb3VjaEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPWZ1bmN0aW9uKGUpe3QuX3BvaW50ZXJFdmVudCYmc3RbZS5wb2ludGVyVHlwZS50b1VwcGVyQ2FzZSgpXT90LnRvdWNoU3RhcnRYPWUuY2xpZW50WDp0Ll9wb2ludGVyRXZlbnR8fCh0LnRvdWNoU3RhcnRYPWUudG91Y2hlc1swXS5jbGllbnRYKX0sbj1mdW5jdGlvbihlKXt0Ll9wb2ludGVyRXZlbnQmJnN0W2UucG9pbnRlclR5cGUudG9VcHBlckNhc2UoKV0mJih0LnRvdWNoRGVsdGFYPWUuY2xpZW50WC10LnRvdWNoU3RhcnRYKSx0Ll9oYW5kbGVTd2lwZSgpLCJob3ZlciI9PT10Ll9jb25maWcucGF1c2UmJih0LnBhdXNlKCksdC50b3VjaFRpbWVvdXQmJmNsZWFyVGltZW91dCh0LnRvdWNoVGltZW91dCksdC50b3VjaFRpbWVvdXQ9c2V0VGltZW91dCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQuY3ljbGUoZSl9KSw1MDArdC5fY29uZmlnLmludGVydmFsKSl9O2V0LmZpbmQoIi5jYXJvdXNlbC1pdGVtIGltZyIsdGhpcy5fZWxlbWVudCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7Vy5vbih0LCJkcmFnc3RhcnQuYnMuY2Fyb3VzZWwiLChmdW5jdGlvbih0KXtyZXR1cm4gdC5wcmV2ZW50RGVmYXVsdCgpfSkpfSkpLHRoaXMuX3BvaW50ZXJFdmVudD8oVy5vbih0aGlzLl9lbGVtZW50LCJwb2ludGVyZG93bi5icy5jYXJvdXNlbCIsKGZ1bmN0aW9uKHQpe3JldHVybiBlKHQpfSkpLFcub24odGhpcy5fZWxlbWVudCwicG9pbnRlcnVwLmJzLmNhcm91c2VsIiwoZnVuY3Rpb24odCl7cmV0dXJuIG4odCl9KSksdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJwb2ludGVyLWV2ZW50IikpOihXLm9uKHRoaXMuX2VsZW1lbnQsInRvdWNoc3RhcnQuYnMuY2Fyb3VzZWwiLChmdW5jdGlvbih0KXtyZXR1cm4gZSh0KX0pKSxXLm9uKHRoaXMuX2VsZW1lbnQsInRvdWNobW92ZS5icy5jYXJvdXNlbCIsKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtlLnRvdWNoZXMmJmUudG91Y2hlcy5sZW5ndGg+MT90LnRvdWNoRGVsdGFYPTA6dC50b3VjaERlbHRhWD1lLnRvdWNoZXNbMF0uY2xpZW50WC10LnRvdWNoU3RhcnRYfShlKX0pKSxXLm9uKHRoaXMuX2VsZW1lbnQsInRvdWNoZW5kLmJzLmNhcm91c2VsIiwoZnVuY3Rpb24odCl7cmV0dXJuIG4odCl9KSkpfSxuLl9rZXlkb3duPWZ1bmN0aW9uKHQpe2lmKCEvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KHQudGFyZ2V0LnRhZ05hbWUpKXN3aXRjaCh0LmtleSl7Y2FzZSJBcnJvd0xlZnQiOnQucHJldmVudERlZmF1bHQoKSx0aGlzLnByZXYoKTticmVhaztjYXNlIkFycm93UmlnaHQiOnQucHJldmVudERlZmF1bHQoKSx0aGlzLm5leHQoKX19LG4uX2dldEl0ZW1JbmRleD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5faXRlbXM9dCYmdC5wYXJlbnROb2RlP2V0LmZpbmQoIi5jYXJvdXNlbC1pdGVtIix0LnBhcmVudE5vZGUpOltdLHRoaXMuX2l0ZW1zLmluZGV4T2YodCl9LG4uX2dldEl0ZW1CeURpcmVjdGlvbj1mdW5jdGlvbih0LGUpe3ZhciBuPSJuZXh0Ij09PXQsaT0icHJldiI9PT10LG89dGhpcy5fZ2V0SXRlbUluZGV4KGUpLHI9dGhpcy5faXRlbXMubGVuZ3RoLTE7aWYoKGkmJjA9PT1vfHxuJiZvPT09cikmJiF0aGlzLl9jb25maWcud3JhcClyZXR1cm4gZTt2YXIgcz0obysoInByZXYiPT09dD8tMToxKSkldGhpcy5faXRlbXMubGVuZ3RoO3JldHVybi0xPT09cz90aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGgtMV06dGhpcy5faXRlbXNbc119LG4uX3RyaWdnZXJTbGlkZUV2ZW50PWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fZ2V0SXRlbUluZGV4KHQpLGk9dGhpcy5fZ2V0SXRlbUluZGV4KGV0LmZpbmRPbmUoIi5hY3RpdmUuY2Fyb3VzZWwtaXRlbSIsdGhpcy5fZWxlbWVudCkpO3JldHVybiBXLnRyaWdnZXIodGhpcy5fZWxlbWVudCwic2xpZGUuYnMuY2Fyb3VzZWwiLHtyZWxhdGVkVGFyZ2V0OnQsZGlyZWN0aW9uOmUsZnJvbTppLHRvOm59KX0sbi5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudD1mdW5jdGlvbih0KXtpZih0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCl7Zm9yKHZhciBlPWV0LmZpbmQoIi5hY3RpdmUiLHRoaXMuX2luZGljYXRvcnNFbGVtZW50KSxuPTA7bjxlLmxlbmd0aDtuKyspZVtuXS5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKTt2YXIgaT10aGlzLl9pbmRpY2F0b3JzRWxlbWVudC5jaGlsZHJlblt0aGlzLl9nZXRJdGVtSW5kZXgodCldO2kmJmkuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIil9fSxuLl9zbGlkZT1mdW5jdGlvbih0LGUpe3ZhciBuLGksbyxyPXRoaXMscz1ldC5maW5kT25lKCIuYWN0aXZlLmNhcm91c2VsLWl0ZW0iLHRoaXMuX2VsZW1lbnQpLGE9dGhpcy5fZ2V0SXRlbUluZGV4KHMpLGw9ZXx8cyYmdGhpcy5fZ2V0SXRlbUJ5RGlyZWN0aW9uKHQscyksYz10aGlzLl9nZXRJdGVtSW5kZXgobCksdT1Cb29sZWFuKHRoaXMuX2ludGVydmFsKTtpZigibmV4dCI9PT10PyhuPSJjYXJvdXNlbC1pdGVtLWxlZnQiLGk9ImNhcm91c2VsLWl0ZW0tbmV4dCIsbz0ibGVmdCIpOihuPSJjYXJvdXNlbC1pdGVtLXJpZ2h0IixpPSJjYXJvdXNlbC1pdGVtLXByZXYiLG89InJpZ2h0IiksbCYmbC5jbGFzc0xpc3QuY29udGFpbnMoImFjdGl2ZSIpKXRoaXMuX2lzU2xpZGluZz0hMTtlbHNlIGlmKCF0aGlzLl90cmlnZ2VyU2xpZGVFdmVudChsLG8pLmRlZmF1bHRQcmV2ZW50ZWQmJnMmJmwpe2lmKHRoaXMuX2lzU2xpZGluZz0hMCx1JiZ0aGlzLnBhdXNlKCksdGhpcy5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudChsKSx0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygic2xpZGUiKSl7bC5jbGFzc0xpc3QuYWRkKGkpLHkobCkscy5jbGFzc0xpc3QuYWRkKG4pLGwuY2xhc3NMaXN0LmFkZChuKTt2YXIgZD1wYXJzZUludChsLmdldEF0dHJpYnV0ZSgiZGF0YS1pbnRlcnZhbCIpLDEwKTtkPyh0aGlzLl9jb25maWcuZGVmYXVsdEludGVydmFsPXRoaXMuX2NvbmZpZy5kZWZhdWx0SW50ZXJ2YWx8fHRoaXMuX2NvbmZpZy5pbnRlcnZhbCx0aGlzLl9jb25maWcuaW50ZXJ2YWw9ZCk6dGhpcy5fY29uZmlnLmludGVydmFsPXRoaXMuX2NvbmZpZy5kZWZhdWx0SW50ZXJ2YWx8fHRoaXMuX2NvbmZpZy5pbnRlcnZhbDt2YXIgZj1oKHMpO1cub25lKHMsInRyYW5zaXRpb25lbmQiLChmdW5jdGlvbigpe2wuY2xhc3NMaXN0LnJlbW92ZShuLGkpLGwuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIikscy5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiLGksbiksci5faXNTbGlkaW5nPSExLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7Vy50cmlnZ2VyKHIuX2VsZW1lbnQsInNsaWQuYnMuY2Fyb3VzZWwiLHtyZWxhdGVkVGFyZ2V0OmwsZGlyZWN0aW9uOm8sZnJvbTphLHRvOmN9KX0pLDApfSkpLGcocyxmKX1lbHNlIHMuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIiksbC5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKSx0aGlzLl9pc1NsaWRpbmc9ITEsVy50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsInNsaWQuYnMuY2Fyb3VzZWwiLHtyZWxhdGVkVGFyZ2V0OmwsZGlyZWN0aW9uOm8sZnJvbTphLHRvOmN9KTt1JiZ0aGlzLmN5Y2xlKCl9fSx0LmNhcm91c2VsSW50ZXJmYWNlPWZ1bmN0aW9uKGUsbil7dmFyIGk9eChlLCJicy5jYXJvdXNlbCIpLHI9byhvKHt9LG90KSx0dC5nZXREYXRhQXR0cmlidXRlcyhlKSk7Im9iamVjdCI9PXR5cGVvZiBuJiYocj1vKG8oe30sciksbikpO3ZhciBzPSJzdHJpbmciPT10eXBlb2Ygbj9uOnIuc2xpZGU7aWYoaXx8KGk9bmV3IHQoZSxyKSksIm51bWJlciI9PXR5cGVvZiBuKWkudG8obik7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIHMpe2lmKHZvaWQgMD09PWlbc10pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK3MrJyInKTtpW3NdKCl9ZWxzZSByLmludGVydmFsJiZyLnJpZGUmJihpLnBhdXNlKCksaS5jeWNsZSgpKX0sdC5qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt0LmNhcm91c2VsSW50ZXJmYWNlKHRoaXMsZSl9KSl9LHQuZGF0YUFwaUNsaWNrSGFuZGxlcj1mdW5jdGlvbihlKXt2YXIgbj1mKHRoaXMpO2lmKG4mJm4uY2xhc3NMaXN0LmNvbnRhaW5zKCJjYXJvdXNlbCIpKXt2YXIgaT1vKG8oe30sdHQuZ2V0RGF0YUF0dHJpYnV0ZXMobikpLHR0LmdldERhdGFBdHRyaWJ1dGVzKHRoaXMpKSxyPXRoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlLXRvIik7ciYmKGkuaW50ZXJ2YWw9ITEpLHQuY2Fyb3VzZWxJbnRlcmZhY2UobixpKSxyJiZ4KG4sImJzLmNhcm91c2VsIikudG8ociksZS5wcmV2ZW50RGVmYXVsdCgpfX0sdC5nZXRJbnN0YW5jZT1mdW5jdGlvbih0KXtyZXR1cm4geCh0LCJicy5jYXJvdXNlbCIpfSxlKHQsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjUuMC4wLWFscGhhMSJ9fSx7a2V5OiJEZWZhdWx0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gb3R9fV0pLHR9KCk7Vy5vbihkb2N1bWVudCwiY2xpY2suYnMuY2Fyb3VzZWwuZGF0YS1hcGkiLCJbZGF0YS1zbGlkZV0sIFtkYXRhLXNsaWRlLXRvXSIsYXQuZGF0YUFwaUNsaWNrSGFuZGxlciksVy5vbih3aW5kb3csImxvYWQuYnMuY2Fyb3VzZWwuZGF0YS1hcGkiLChmdW5jdGlvbigpe2Zvcih2YXIgdD1ldC5maW5kKCdbZGF0YS1yaWRlPSJjYXJvdXNlbCJdJyksZT0wLG49dC5sZW5ndGg7ZTxuO2UrKylhdC5jYXJvdXNlbEludGVyZmFjZSh0W2VdLHgodFtlXSwiYnMuY2Fyb3VzZWwiKSl9KSk7dmFyIGx0PXcoKTtpZihsdCl7dmFyIGN0PWx0LmZuW250XTtsdC5mbltudF09YXQualF1ZXJ5SW50ZXJmYWNlLGx0LmZuW250XS5Db25zdHJ1Y3Rvcj1hdCxsdC5mbltudF0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBsdC5mbltudF09Y3QsYXQualF1ZXJ5SW50ZXJmYWNlfX12YXIgdXQ9ImNvbGxhcHNlIixkdD17dG9nZ2xlOiEwLHBhcmVudDoiIn0sZnQ9e3RvZ2dsZToiYm9vbGVhbiIscGFyZW50OiIoc3RyaW5nfGVsZW1lbnQpIn0saHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSl7dGhpcy5faXNUcmFuc2l0aW9uaW5nPSExLHRoaXMuX2VsZW1lbnQ9dCx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMuX3RyaWdnZXJBcnJheT1ldC5maW5kKCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1baHJlZj0iIycrdC5pZCsnIl0sW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtdGFyZ2V0PSIjJyt0LmlkKyciXScpO2Zvcih2YXIgbj1ldC5maW5kKCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl0nKSxpPTAsbz1uLmxlbmd0aDtpPG87aSsrKXt2YXIgcj1uW2ldLHM9ZChyKSxhPWV0LmZpbmQocykuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZT09PXR9KSk7bnVsbCE9PXMmJmEubGVuZ3RoJiYodGhpcy5fc2VsZWN0b3I9cyx0aGlzLl90cmlnZ2VyQXJyYXkucHVzaChyKSl9dGhpcy5fcGFyZW50PXRoaXMuX2NvbmZpZy5wYXJlbnQ/dGhpcy5fZ2V0UGFyZW50KCk6bnVsbCx0aGlzLl9jb25maWcucGFyZW50fHx0aGlzLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModGhpcy5fZWxlbWVudCx0aGlzLl90cmlnZ2VyQXJyYXkpLHRoaXMuX2NvbmZpZy50b2dnbGUmJnRoaXMudG9nZ2xlKCksQyh0LCJicy5jb2xsYXBzZSIsdGhpcyl9dmFyIG49dC5wcm90b3R5cGU7cmV0dXJuIG4udG9nZ2xlPWZ1bmN0aW9uKCl7dGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoInNob3ciKT90aGlzLmhpZGUoKTp0aGlzLnNob3coKX0sbi5zaG93PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZighdGhpcy5faXNUcmFuc2l0aW9uaW5nJiYhdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoInNob3ciKSl7dmFyIG4saTt0aGlzLl9wYXJlbnQmJjA9PT0obj1ldC5maW5kKCIuc2hvdywgLmNvbGxhcHNpbmciLHRoaXMuX3BhcmVudCkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUuX2NvbmZpZy5wYXJlbnQ/dC5nZXRBdHRyaWJ1dGUoImRhdGEtcGFyZW50Iik9PT1lLl9jb25maWcucGFyZW50OnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb2xsYXBzZSIpfSkpKS5sZW5ndGgmJihuPW51bGwpO3ZhciBvPWV0LmZpbmRPbmUodGhpcy5fc2VsZWN0b3IpO2lmKG4pe3ZhciByPW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gbyE9PXR9KSk7aWYoKGk9clswXT94KHJbMF0sImJzLmNvbGxhcHNlIik6bnVsbCkmJmkuX2lzVHJhbnNpdGlvbmluZylyZXR1cm59aWYoIVcudHJpZ2dlcih0aGlzLl9lbGVtZW50LCJzaG93LmJzLmNvbGxhcHNlIikuZGVmYXVsdFByZXZlbnRlZCl7biYmbi5mb3JFYWNoKChmdW5jdGlvbihlKXtvIT09ZSYmdC5jb2xsYXBzZUludGVyZmFjZShlLCJoaWRlIiksaXx8QyhlLCJicy5jb2xsYXBzZSIsbnVsbCl9KSk7dmFyIHM9dGhpcy5fZ2V0RGltZW5zaW9uKCk7dGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJjb2xsYXBzZSIpLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgiY29sbGFwc2luZyIpLHRoaXMuX2VsZW1lbnQuc3R5bGVbc109MCx0aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoJiZ0aGlzLl90cmlnZ2VyQXJyYXkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5jbGFzc0xpc3QucmVtb3ZlKCJjb2xsYXBzZWQiKSx0LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsITApfSkpLHRoaXMuc2V0VHJhbnNpdGlvbmluZyghMCk7dmFyIGE9InNjcm9sbCIrKHNbMF0udG9VcHBlckNhc2UoKStzLnNsaWNlKDEpKSxsPWgodGhpcy5fZWxlbWVudCk7Vy5vbmUodGhpcy5fZWxlbWVudCwidHJhbnNpdGlvbmVuZCIsKGZ1bmN0aW9uKCl7ZS5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJjb2xsYXBzaW5nIiksZS5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJjb2xsYXBzZSIsInNob3ciKSxlLl9lbGVtZW50LnN0eWxlW3NdPSIiLGUuc2V0VHJhbnNpdGlvbmluZyghMSksVy50cmlnZ2VyKGUuX2VsZW1lbnQsInNob3duLmJzLmNvbGxhcHNlIil9KSksZyh0aGlzLl9lbGVtZW50LGwpLHRoaXMuX2VsZW1lbnQuc3R5bGVbc109dGhpcy5fZWxlbWVudFthXSsicHgifX19LG4uaGlkZT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYoIXRoaXMuX2lzVHJhbnNpdGlvbmluZyYmdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoInNob3ciKSYmIVcudHJpZ2dlcih0aGlzLl9lbGVtZW50LCJoaWRlLmJzLmNvbGxhcHNlIikuZGVmYXVsdFByZXZlbnRlZCl7dmFyIGU9dGhpcy5fZ2V0RGltZW5zaW9uKCk7dGhpcy5fZWxlbWVudC5zdHlsZVtlXT10aGlzLl9lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW2VdKyJweCIseSh0aGlzLl9lbGVtZW50KSx0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoImNvbGxhcHNpbmciKSx0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoImNvbGxhcHNlIiwic2hvdyIpO3ZhciBuPXRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGg7aWYobj4wKWZvcih2YXIgaT0wO2k8bjtpKyspe3ZhciBvPXRoaXMuX3RyaWdnZXJBcnJheVtpXSxyPWYobyk7ciYmIXIuY2xhc3NMaXN0LmNvbnRhaW5zKCJzaG93IikmJihvLmNsYXNzTGlzdC5hZGQoImNvbGxhcHNlZCIpLG8uc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwhMSkpfXRoaXMuc2V0VHJhbnNpdGlvbmluZyghMCk7dGhpcy5fZWxlbWVudC5zdHlsZVtlXT0iIjt2YXIgcz1oKHRoaXMuX2VsZW1lbnQpO1cub25lKHRoaXMuX2VsZW1lbnQsInRyYW5zaXRpb25lbmQiLChmdW5jdGlvbigpe3Quc2V0VHJhbnNpdGlvbmluZyghMSksdC5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJjb2xsYXBzaW5nIiksdC5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJjb2xsYXBzZSIpLFcudHJpZ2dlcih0Ll9lbGVtZW50LCJoaWRkZW4uYnMuY29sbGFwc2UiKX0pKSxnKHRoaXMuX2VsZW1lbnQscyl9fSxuLnNldFRyYW5zaXRpb25pbmc9ZnVuY3Rpb24odCl7dGhpcy5faXNUcmFuc2l0aW9uaW5nPXR9LG4uZGlzcG9zZT1mdW5jdGlvbigpe1QodGhpcy5fZWxlbWVudCwiYnMuY29sbGFwc2UiKSx0aGlzLl9jb25maWc9bnVsbCx0aGlzLl9wYXJlbnQ9bnVsbCx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fdHJpZ2dlckFycmF5PW51bGwsdGhpcy5faXNUcmFuc2l0aW9uaW5nPW51bGx9LG4uX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4odD1vKG8oe30sZHQpLHQpKS50b2dnbGU9Qm9vbGVhbih0LnRvZ2dsZSksdih1dCx0LGZ0KSx0fSxuLl9nZXREaW1lbnNpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoIndpZHRoIik/IndpZHRoIjoiaGVpZ2h0In0sbi5fZ2V0UGFyZW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuX2NvbmZpZy5wYXJlbnQ7bShlKT92b2lkIDA9PT1lLmpxdWVyeSYmdm9pZCAwPT09ZVswXXx8KGU9ZVswXSk6ZT1ldC5maW5kT25lKGUpO3ZhciBuPSdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1bZGF0YS1wYXJlbnQ9IicrZSsnIl0nO3JldHVybiBldC5maW5kKG4sZSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZihlKTt0Ll9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3MobixbZV0pfSkpLGV9LG4uX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcz1mdW5jdGlvbih0LGUpe2lmKHQpe3ZhciBuPXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJzaG93Iik7ZS5sZW5ndGgmJmUuZm9yRWFjaCgoZnVuY3Rpb24odCl7bj90LmNsYXNzTGlzdC5yZW1vdmUoImNvbGxhcHNlZCIpOnQuY2xhc3NMaXN0LmFkZCgiY29sbGFwc2VkIiksdC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLG4pfSkpfX0sdC5jb2xsYXBzZUludGVyZmFjZT1mdW5jdGlvbihlLG4pe3ZhciBpPXgoZSwiYnMuY29sbGFwc2UiKSxyPW8obyhvKHt9LGR0KSx0dC5nZXREYXRhQXR0cmlidXRlcyhlKSksIm9iamVjdCI9PXR5cGVvZiBuJiZuP246e30pO2lmKCFpJiZyLnRvZ2dsZSYmInN0cmluZyI9PXR5cGVvZiBuJiYvc2hvd3xoaWRlLy50ZXN0KG4pJiYoci50b2dnbGU9ITEpLGl8fChpPW5ldyB0KGUscikpLCJzdHJpbmciPT10eXBlb2Ygbil7aWYodm9pZCAwPT09aVtuXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrbisnIicpO2lbbl0oKX19LHQualF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dC5jb2xsYXBzZUludGVyZmFjZSh0aGlzLGUpfSkpfSx0LmdldEluc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiB4KHQsImJzLmNvbGxhcHNlIil9LGUodCxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNS4wLjAtYWxwaGExIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBkdH19XSksdH0oKTtXLm9uKGRvY3VtZW50LCJjbGljay5icy5jb2xsYXBzZS5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXScsKGZ1bmN0aW9uKHQpeyJBIj09PXQudGFyZ2V0LnRhZ05hbWUmJnQucHJldmVudERlZmF1bHQoKTt2YXIgZT10dC5nZXREYXRhQXR0cmlidXRlcyh0aGlzKSxuPWQodGhpcyk7ZXQuZmluZChuKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgbixpPXgodCwiYnMuY29sbGFwc2UiKTtpPyhudWxsPT09aS5fcGFyZW50JiYic3RyaW5nIj09dHlwZW9mIGUucGFyZW50JiYoaS5fY29uZmlnLnBhcmVudD1lLnBhcmVudCxpLl9wYXJlbnQ9aS5fZ2V0UGFyZW50KCkpLG49InRvZ2dsZSIpOm49ZSxodC5jb2xsYXBzZUludGVyZmFjZSh0LG4pfSkpfSkpO3ZhciBwdD13KCk7aWYocHQpe3ZhciBtdD1wdC5mblt1dF07cHQuZm5bdXRdPWh0LmpRdWVyeUludGVyZmFjZSxwdC5mblt1dF0uQ29uc3RydWN0b3I9aHQscHQuZm5bdXRdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gcHQuZm5bdXRdPW10LGh0LmpRdWVyeUludGVyZmFjZX19Ci8qKiEKICAgKiBAZmlsZU92ZXJ2aWV3IEtpY2thc3MgbGlicmFyeSB0byBjcmVhdGUgYW5kIHBsYWNlIHBvcHBlcnMgbmVhciB0aGVpciByZWZlcmVuY2UgZWxlbWVudHMuCiAgICogQHZlcnNpb24gMS4xNi4wCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgRmVkZXJpY28gWml2b2xvIGFuZCBjb250cmlidXRvcnMKICAgKgogICAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKICAgKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogICAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKICAgKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCiAgICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiAgICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKICAgKgogICAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAogICAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCiAgICoKICAgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogICAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAogICAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQogICAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKICAgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAogICAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgICogU09GVFdBUkUuCiAgICovdmFyIGd0PSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcix2dD1mdW5jdGlvbigpe2Zvcih2YXIgdD1bIkVkZ2UiLCJUcmlkZW50IiwiRmlyZWZveCJdLGU9MDtlPHQubGVuZ3RoO2UrPTEpaWYoZ3QmJm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZih0W2VdKT49MClyZXR1cm4gMTtyZXR1cm4gMH0oKTt2YXIgYnQ9Z3QmJndpbmRvdy5Qcm9taXNlP2Z1bmN0aW9uKHQpe3ZhciBlPSExO3JldHVybiBmdW5jdGlvbigpe2V8fChlPSEwLHdpbmRvdy5Qcm9taXNlLnJlc29sdmUoKS50aGVuKChmdW5jdGlvbigpe2U9ITEsdCgpfSkpKX19OmZ1bmN0aW9uKHQpe3ZhciBlPSExO3JldHVybiBmdW5jdGlvbigpe2V8fChlPSEwLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZT0hMSx0KCl9KSx2dCkpfX07ZnVuY3Rpb24gX3QodCl7cmV0dXJuIHQmJiJbb2JqZWN0IEZ1bmN0aW9uXSI9PT17fS50b1N0cmluZy5jYWxsKHQpfWZ1bmN0aW9uIHl0KHQsZSl7aWYoMSE9PXQubm9kZVR5cGUpcmV0dXJuW107dmFyIG49dC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodCxudWxsKTtyZXR1cm4gZT9uW2VdOm59ZnVuY3Rpb24gd3QodCl7cmV0dXJuIkhUTUwiPT09dC5ub2RlTmFtZT90OnQucGFyZW50Tm9kZXx8dC5ob3N0fWZ1bmN0aW9uIEV0KHQpe2lmKCF0KXJldHVybiBkb2N1bWVudC5ib2R5O3N3aXRjaCh0Lm5vZGVOYW1lKXtjYXNlIkhUTUwiOmNhc2UiQk9EWSI6cmV0dXJuIHQub3duZXJEb2N1bWVudC5ib2R5O2Nhc2UiI2RvY3VtZW50IjpyZXR1cm4gdC5ib2R5fXZhciBlPXl0KHQpLG49ZS5vdmVyZmxvdyxpPWUub3ZlcmZsb3dYLG89ZS5vdmVyZmxvd1k7cmV0dXJuLyhhdXRvfHNjcm9sbHxvdmVybGF5KS8udGVzdChuK28raSk/dDpFdCh3dCh0KSl9ZnVuY3Rpb24gQ3QodCl7cmV0dXJuIHQmJnQucmVmZXJlbmNlTm9kZT90LnJlZmVyZW5jZU5vZGU6dH12YXIgeHQ9Z3QmJiEoIXdpbmRvdy5NU0lucHV0TWV0aG9kQ29udGV4dHx8IWRvY3VtZW50LmRvY3VtZW50TW9kZSksVHQ9Z3QmJi9NU0lFIDEwLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO2Z1bmN0aW9uIFN0KHQpe3JldHVybiAxMT09PXQ/eHQ6MTA9PT10P1R0Onh0fHxUdH1mdW5jdGlvbiBMdCh0KXtpZighdClyZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2Zvcih2YXIgZT1TdCgxMCk/ZG9jdW1lbnQuYm9keTpudWxsLG49dC5vZmZzZXRQYXJlbnR8fG51bGw7bj09PWUmJnQubmV4dEVsZW1lbnRTaWJsaW5nOyluPSh0PXQubmV4dEVsZW1lbnRTaWJsaW5nKS5vZmZzZXRQYXJlbnQ7dmFyIGk9biYmbi5ub2RlTmFtZTtyZXR1cm4gaSYmIkJPRFkiIT09aSYmIkhUTUwiIT09aT8tMSE9PVsiVEgiLCJURCIsIlRBQkxFIl0uaW5kZXhPZihuLm5vZGVOYW1lKSYmInN0YXRpYyI9PT15dChuLCJwb3NpdGlvbiIpP0x0KG4pOm46dD90Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudH1mdW5jdGlvbiBrdCh0KXtyZXR1cm4gbnVsbCE9PXQucGFyZW50Tm9kZT9rdCh0LnBhcmVudE5vZGUpOnR9ZnVuY3Rpb24gQXQodCxlKXtpZighKHQmJnQubm9kZVR5cGUmJmUmJmUubm9kZVR5cGUpKXJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7dmFyIG49dC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyxpPW4/dDplLG89bj9lOnQscj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3Iuc2V0U3RhcnQoaSwwKSxyLnNldEVuZChvLDApO3ZhciBzPXIuY29tbW9uQW5jZXN0b3JDb250YWluZXI7aWYodCE9PXMmJmUhPT1zfHxpLmNvbnRhaW5zKG8pKXJldHVybiBmdW5jdGlvbih0KXt2YXIgZT10Lm5vZGVOYW1lO3JldHVybiJCT0RZIiE9PWUmJigiSFRNTCI9PT1lfHxMdCh0LmZpcnN0RWxlbWVudENoaWxkKT09PXQpfShzKT9zOkx0KHMpO3ZhciBhPWt0KHQpO3JldHVybiBhLmhvc3Q/QXQoYS5ob3N0LGUpOkF0KHQsa3QoZSkuaG9zdCl9ZnVuY3Rpb24gT3QodCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOiJ0b3AiLG49InRvcCI9PT1lPyJzY3JvbGxUb3AiOiJzY3JvbGxMZWZ0IixpPXQubm9kZU5hbWU7aWYoIkJPRFkiPT09aXx8IkhUTUwiPT09aSl7dmFyIG89dC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxyPXQub3duZXJEb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50fHxvO3JldHVybiByW25dfXJldHVybiB0W25dfWZ1bmN0aW9uIE50KHQsZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXSxpPU90KGUsInRvcCIpLG89T3QoZSwibGVmdCIpLHI9bj8tMToxO3JldHVybiB0LnRvcCs9aSpyLHQuYm90dG9tKz1pKnIsdC5sZWZ0Kz1vKnIsdC5yaWdodCs9bypyLHR9ZnVuY3Rpb24gRHQodCxlKXt2YXIgbj0ieCI9PT1lPyJMZWZ0IjoiVG9wIixpPSJMZWZ0Ij09PW4/IlJpZ2h0IjoiQm90dG9tIjtyZXR1cm4gcGFyc2VGbG9hdCh0WyJib3JkZXIiK24rIldpZHRoIl0sMTApK3BhcnNlRmxvYXQodFsiYm9yZGVyIitpKyJXaWR0aCJdLDEwKX1mdW5jdGlvbiBqdCh0LGUsbixpKXtyZXR1cm4gTWF0aC5tYXgoZVsib2Zmc2V0Iit0XSxlWyJzY3JvbGwiK3RdLG5bImNsaWVudCIrdF0sblsib2Zmc2V0Iit0XSxuWyJzY3JvbGwiK3RdLFN0KDEwKT9wYXJzZUludChuWyJvZmZzZXQiK3RdKStwYXJzZUludChpWyJtYXJnaW4iKygiSGVpZ2h0Ij09PXQ/IlRvcCI6IkxlZnQiKV0pK3BhcnNlSW50KGlbIm1hcmdpbiIrKCJIZWlnaHQiPT09dD8iQm90dG9tIjoiUmlnaHQiKV0pOjApfWZ1bmN0aW9uIEl0KHQpe3ZhciBlPXQuYm9keSxuPXQuZG9jdW1lbnRFbGVtZW50LGk9U3QoMTApJiZnZXRDb21wdXRlZFN0eWxlKG4pO3JldHVybntoZWlnaHQ6anQoIkhlaWdodCIsZSxuLGkpLHdpZHRoOmp0KCJXaWR0aCIsZSxuLGkpfX12YXIgTXQ9ZnVuY3Rpb24odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0sUHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWVbbl07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLmtleSxpKX19cmV0dXJuIGZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gbiYmdChlLnByb3RvdHlwZSxuKSxpJiZ0KGUsaSksZX19KCksSHQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlIGluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6bixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09bix0fSxxdD1PYmplY3QuYXNzaWdufHxmdW5jdGlvbih0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgbj1hcmd1bWVudHNbZV07Zm9yKHZhciBpIGluIG4pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4saSkmJih0W2ldPW5baV0pfXJldHVybiB0fTtmdW5jdGlvbiBCdCh0KXtyZXR1cm4gcXQoe30sdCx7cmlnaHQ6dC5sZWZ0K3Qud2lkdGgsYm90dG9tOnQudG9wK3QuaGVpZ2h0fSl9ZnVuY3Rpb24genQodCl7dmFyIGU9e307dHJ5e2lmKFN0KDEwKSl7ZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBuPU90KHQsInRvcCIpLGk9T3QodCwibGVmdCIpO2UudG9wKz1uLGUubGVmdCs9aSxlLmJvdHRvbSs9bixlLnJpZ2h0Kz1pfWVsc2UgZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWNhdGNoKHQpe312YXIgbz17bGVmdDplLmxlZnQsdG9wOmUudG9wLHdpZHRoOmUucmlnaHQtZS5sZWZ0LGhlaWdodDplLmJvdHRvbS1lLnRvcH0scj0iSFRNTCI9PT10Lm5vZGVOYW1lP0l0KHQub3duZXJEb2N1bWVudCk6e30scz1yLndpZHRofHx0LmNsaWVudFdpZHRofHxvLndpZHRoLGE9ci5oZWlnaHR8fHQuY2xpZW50SGVpZ2h0fHxvLmhlaWdodCxsPXQub2Zmc2V0V2lkdGgtcyxjPXQub2Zmc2V0SGVpZ2h0LWE7aWYobHx8Yyl7dmFyIHU9eXQodCk7bC09RHQodSwieCIpLGMtPUR0KHUsInkiKSxvLndpZHRoLT1sLG8uaGVpZ2h0LT1jfXJldHVybiBCdChvKX1mdW5jdGlvbiBSdCh0LGUpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdJiZhcmd1bWVudHNbMl0saT1TdCgxMCksbz0iSFRNTCI9PT1lLm5vZGVOYW1lLHI9enQodCkscz16dChlKSxhPUV0KHQpLGw9eXQoZSksYz1wYXJzZUZsb2F0KGwuYm9yZGVyVG9wV2lkdGgsMTApLHU9cGFyc2VGbG9hdChsLmJvcmRlckxlZnRXaWR0aCwxMCk7biYmbyYmKHMudG9wPU1hdGgubWF4KHMudG9wLDApLHMubGVmdD1NYXRoLm1heChzLmxlZnQsMCkpO3ZhciBkPUJ0KHt0b3A6ci50b3Atcy50b3AtYyxsZWZ0OnIubGVmdC1zLmxlZnQtdSx3aWR0aDpyLndpZHRoLGhlaWdodDpyLmhlaWdodH0pO2lmKGQubWFyZ2luVG9wPTAsZC5tYXJnaW5MZWZ0PTAsIWkmJm8pe3ZhciBmPXBhcnNlRmxvYXQobC5tYXJnaW5Ub3AsMTApLGg9cGFyc2VGbG9hdChsLm1hcmdpbkxlZnQsMTApO2QudG9wLT1jLWYsZC5ib3R0b20tPWMtZixkLmxlZnQtPXUtaCxkLnJpZ2h0LT11LWgsZC5tYXJnaW5Ub3A9ZixkLm1hcmdpbkxlZnQ9aH1yZXR1cm4oaSYmIW4/ZS5jb250YWlucyhhKTplPT09YSYmIkJPRFkiIT09YS5ub2RlTmFtZSkmJihkPU50KGQsZSkpLGR9ZnVuY3Rpb24gRnQodCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0mJmFyZ3VtZW50c1sxXSxuPXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsaT1SdCh0LG4pLG89TWF0aC5tYXgobi5jbGllbnRXaWR0aCx3aW5kb3cuaW5uZXJXaWR0aHx8MCkscj1NYXRoLm1heChuLmNsaWVudEhlaWdodCx3aW5kb3cuaW5uZXJIZWlnaHR8fDApLHM9ZT8wOk90KG4pLGE9ZT8wOk90KG4sImxlZnQiKSxsPXt0b3A6cy1pLnRvcCtpLm1hcmdpblRvcCxsZWZ0OmEtaS5sZWZ0K2kubWFyZ2luTGVmdCx3aWR0aDpvLGhlaWdodDpyfTtyZXR1cm4gQnQobCl9ZnVuY3Rpb24gVXQodCl7dmFyIGU9dC5ub2RlTmFtZTtpZigiQk9EWSI9PT1lfHwiSFRNTCI9PT1lKXJldHVybiExO2lmKCJmaXhlZCI9PT15dCh0LCJwb3NpdGlvbiIpKXJldHVybiEwO3ZhciBuPXd0KHQpO3JldHVybiEhbiYmVXQobil9ZnVuY3Rpb24gV3QodCl7aWYoIXR8fCF0LnBhcmVudEVsZW1lbnR8fFN0KCkpcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtmb3IodmFyIGU9dC5wYXJlbnRFbGVtZW50O2UmJiJub25lIj09PXl0KGUsInRyYW5zZm9ybSIpOyllPWUucGFyZW50RWxlbWVudDtyZXR1cm4gZXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fWZ1bmN0aW9uIFZ0KHQsZSxuLGkpe3ZhciBvPWFyZ3VtZW50cy5sZW5ndGg+NCYmdm9pZCAwIT09YXJndW1lbnRzWzRdJiZhcmd1bWVudHNbNF0scj17dG9wOjAsbGVmdDowfSxzPW8/V3QodCk6QXQodCxDdChlKSk7aWYoInZpZXdwb3J0Ij09PWkpcj1GdChzLG8pO2Vsc2V7dmFyIGE9dm9pZCAwOyJzY3JvbGxQYXJlbnQiPT09aT8iQk9EWSI9PT0oYT1FdCh3dChlKSkpLm5vZGVOYW1lJiYoYT10Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTphPSJ3aW5kb3ciPT09aT90Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Omk7dmFyIGw9UnQoYSxzLG8pO2lmKCJIVE1MIiE9PWEubm9kZU5hbWV8fFV0KHMpKXI9bDtlbHNle3ZhciBjPUl0KHQub3duZXJEb2N1bWVudCksdT1jLmhlaWdodCxkPWMud2lkdGg7ci50b3ArPWwudG9wLWwubWFyZ2luVG9wLHIuYm90dG9tPXUrbC50b3Asci5sZWZ0Kz1sLmxlZnQtbC5tYXJnaW5MZWZ0LHIucmlnaHQ9ZCtsLmxlZnR9fXZhciBmPSJudW1iZXIiPT10eXBlb2Yobj1ufHwwKTtyZXR1cm4gci5sZWZ0Kz1mP246bi5sZWZ0fHwwLHIudG9wKz1mP246bi50b3B8fDAsci5yaWdodC09Zj9uOm4ucmlnaHR8fDAsci5ib3R0b20tPWY/bjpuLmJvdHRvbXx8MCxyfWZ1bmN0aW9uIFl0KHQpe3JldHVybiB0LndpZHRoKnQuaGVpZ2h0fWZ1bmN0aW9uIFh0KHQsZSxuLGksbyl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD41JiZ2b2lkIDAhPT1hcmd1bWVudHNbNV0/YXJndW1lbnRzWzVdOjA7aWYoLTE9PT10LmluZGV4T2YoImF1dG8iKSlyZXR1cm4gdDt2YXIgcz1WdChuLGkscixvKSxhPXt0b3A6e3dpZHRoOnMud2lkdGgsaGVpZ2h0OmUudG9wLXMudG9wfSxyaWdodDp7d2lkdGg6cy5yaWdodC1lLnJpZ2h0LGhlaWdodDpzLmhlaWdodH0sYm90dG9tOnt3aWR0aDpzLndpZHRoLGhlaWdodDpzLmJvdHRvbS1lLmJvdHRvbX0sbGVmdDp7d2lkdGg6ZS5sZWZ0LXMubGVmdCxoZWlnaHQ6cy5oZWlnaHR9fSxsPU9iamVjdC5rZXlzKGEpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHF0KHtrZXk6dH0sYVt0XSx7YXJlYTpZdChhW3RdKX0pfSkpLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuYXJlYS10LmFyZWF9KSksYz1sLmZpbHRlcigoZnVuY3Rpb24odCl7dmFyIGU9dC53aWR0aCxpPXQuaGVpZ2h0O3JldHVybiBlPj1uLmNsaWVudFdpZHRoJiZpPj1uLmNsaWVudEhlaWdodH0pKSx1PWMubGVuZ3RoPjA/Y1swXS5rZXk6bFswXS5rZXksZD10LnNwbGl0KCItIilbMV07cmV0dXJuIHUrKGQ/Ii0iK2Q6IiIpfWZ1bmN0aW9uIFF0KHQsZSxuKXt2YXIgaT1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbCxvPWk/V3QoZSk6QXQoZSxDdChuKSk7cmV0dXJuIFJ0KG4sbyxpKX1mdW5jdGlvbiBHdCh0KXt2YXIgZT10Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0KSxuPXBhcnNlRmxvYXQoZS5tYXJnaW5Ub3B8fDApK3BhcnNlRmxvYXQoZS5tYXJnaW5Cb3R0b218fDApLGk9cGFyc2VGbG9hdChlLm1hcmdpbkxlZnR8fDApK3BhcnNlRmxvYXQoZS5tYXJnaW5SaWdodHx8MCk7cmV0dXJue3dpZHRoOnQub2Zmc2V0V2lkdGgraSxoZWlnaHQ6dC5vZmZzZXRIZWlnaHQrbn19ZnVuY3Rpb24gS3QodCl7dmFyIGU9e2xlZnQ6InJpZ2h0IixyaWdodDoibGVmdCIsYm90dG9tOiJ0b3AiLHRvcDoiYm90dG9tIn07cmV0dXJuIHQucmVwbGFjZSgvbGVmdHxyaWdodHxib3R0b218dG9wL2csKGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfSkpfWZ1bmN0aW9uIFp0KHQsZSxuKXtuPW4uc3BsaXQoIi0iKVswXTt2YXIgaT1HdCh0KSxvPXt3aWR0aDppLndpZHRoLGhlaWdodDppLmhlaWdodH0scj0tMSE9PVsicmlnaHQiLCJsZWZ0Il0uaW5kZXhPZihuKSxzPXI/InRvcCI6ImxlZnQiLGE9cj8ibGVmdCI6InRvcCIsbD1yPyJoZWlnaHQiOiJ3aWR0aCIsYz1yPyJ3aWR0aCI6ImhlaWdodCI7cmV0dXJuIG9bc109ZVtzXStlW2xdLzItaVtsXS8yLG9bYV09bj09PWE/ZVthXS1pW2NdOmVbS3QoYSldLG99ZnVuY3Rpb24gJHQodCxlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbmQ/dC5maW5kKGUpOnQuZmlsdGVyKGUpWzBdfWZ1bmN0aW9uIEp0KHQsZSxuKXtyZXR1cm4odm9pZCAwPT09bj90OnQuc2xpY2UoMCxmdW5jdGlvbih0LGUsbil7aWYoQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleClyZXR1cm4gdC5maW5kSW5kZXgoKGZ1bmN0aW9uKHQpe3JldHVybiB0W2VdPT09bn0pKTt2YXIgaT0kdCh0LChmdW5jdGlvbih0KXtyZXR1cm4gdFtlXT09PW59KSk7cmV0dXJuIHQuaW5kZXhPZihpKX0odCwibmFtZSIsbikpKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmZ1bmN0aW9uJiZjb25zb2xlLndhcm4oImBtb2RpZmllci5mdW5jdGlvbmAgaXMgZGVwcmVjYXRlZCwgdXNlIGBtb2RpZmllci5mbmAhIik7dmFyIG49dC5mdW5jdGlvbnx8dC5mbjt0LmVuYWJsZWQmJl90KG4pJiYoZS5vZmZzZXRzLnBvcHBlcj1CdChlLm9mZnNldHMucG9wcGVyKSxlLm9mZnNldHMucmVmZXJlbmNlPUJ0KGUub2Zmc2V0cy5yZWZlcmVuY2UpLGU9bihlLHQpKX0pKSxlfWZ1bmN0aW9uIHRlKCl7aWYoIXRoaXMuc3RhdGUuaXNEZXN0cm95ZWQpe3ZhciB0PXtpbnN0YW5jZTp0aGlzLHN0eWxlczp7fSxhcnJvd1N0eWxlczp7fSxhdHRyaWJ1dGVzOnt9LGZsaXBwZWQ6ITEsb2Zmc2V0czp7fX07dC5vZmZzZXRzLnJlZmVyZW5jZT1RdCh0aGlzLnN0YXRlLHRoaXMucG9wcGVyLHRoaXMucmVmZXJlbmNlLHRoaXMub3B0aW9ucy5wb3NpdGlvbkZpeGVkKSx0LnBsYWNlbWVudD1YdCh0aGlzLm9wdGlvbnMucGxhY2VtZW50LHQub2Zmc2V0cy5yZWZlcmVuY2UsdGhpcy5wb3BwZXIsdGhpcy5yZWZlcmVuY2UsdGhpcy5vcHRpb25zLm1vZGlmaWVycy5mbGlwLmJvdW5kYXJpZXNFbGVtZW50LHRoaXMub3B0aW9ucy5tb2RpZmllcnMuZmxpcC5wYWRkaW5nKSx0Lm9yaWdpbmFsUGxhY2VtZW50PXQucGxhY2VtZW50LHQucG9zaXRpb25GaXhlZD10aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZCx0Lm9mZnNldHMucG9wcGVyPVp0KHRoaXMucG9wcGVyLHQub2Zmc2V0cy5yZWZlcmVuY2UsdC5wbGFjZW1lbnQpLHQub2Zmc2V0cy5wb3BwZXIucG9zaXRpb249dGhpcy5vcHRpb25zLnBvc2l0aW9uRml4ZWQ/ImZpeGVkIjoiYWJzb2x1dGUiLHQ9SnQodGhpcy5tb2RpZmllcnMsdCksdGhpcy5zdGF0ZS5pc0NyZWF0ZWQ/dGhpcy5vcHRpb25zLm9uVXBkYXRlKHQpOih0aGlzLnN0YXRlLmlzQ3JlYXRlZD0hMCx0aGlzLm9wdGlvbnMub25DcmVhdGUodCkpfX1mdW5jdGlvbiBlZSh0LGUpe3JldHVybiB0LnNvbWUoKGZ1bmN0aW9uKHQpe3ZhciBuPXQubmFtZTtyZXR1cm4gdC5lbmFibGVkJiZuPT09ZX0pKX1mdW5jdGlvbiBuZSh0KXtmb3IodmFyIGU9WyExLCJtcyIsIldlYmtpdCIsIk1veiIsIk8iXSxuPXQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKSxpPTA7aTxlLmxlbmd0aDtpKyspe3ZhciBvPWVbaV0scj1vPyIiK28rbjp0O2lmKHZvaWQgMCE9PWRvY3VtZW50LmJvZHkuc3R5bGVbcl0pcmV0dXJuIHJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaWUoKXtyZXR1cm4gdGhpcy5zdGF0ZS5pc0Rlc3Ryb3llZD0hMCxlZSh0aGlzLm1vZGlmaWVycywiYXBwbHlTdHlsZSIpJiYodGhpcy5wb3BwZXIucmVtb3ZlQXR0cmlidXRlKCJ4LXBsYWNlbWVudCIpLHRoaXMucG9wcGVyLnN0eWxlLnBvc2l0aW9uPSIiLHRoaXMucG9wcGVyLnN0eWxlLnRvcD0iIix0aGlzLnBvcHBlci5zdHlsZS5sZWZ0PSIiLHRoaXMucG9wcGVyLnN0eWxlLnJpZ2h0PSIiLHRoaXMucG9wcGVyLnN0eWxlLmJvdHRvbT0iIix0aGlzLnBvcHBlci5zdHlsZS53aWxsQ2hhbmdlPSIiLHRoaXMucG9wcGVyLnN0eWxlW25lKCJ0cmFuc2Zvcm0iKV09IiIpLHRoaXMuZGlzYWJsZUV2ZW50TGlzdGVuZXJzKCksdGhpcy5vcHRpb25zLnJlbW92ZU9uRGVzdHJveSYmdGhpcy5wb3BwZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBvcHBlciksdGhpc31mdW5jdGlvbiBvZSh0KXt2YXIgZT10Lm93bmVyRG9jdW1lbnQ7cmV0dXJuIGU/ZS5kZWZhdWx0Vmlldzp3aW5kb3d9ZnVuY3Rpb24gcmUodCxlLG4saSl7bi51cGRhdGVCb3VuZD1pLG9lKHQpLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsbi51cGRhdGVCb3VuZCx7cGFzc2l2ZTohMH0pO3ZhciBvPUV0KHQpO3JldHVybiBmdW5jdGlvbiB0KGUsbixpLG8pe3ZhciByPSJCT0RZIj09PWUubm9kZU5hbWUscz1yP2Uub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldzplO3MuYWRkRXZlbnRMaXN0ZW5lcihuLGkse3Bhc3NpdmU6ITB9KSxyfHx0KEV0KHMucGFyZW50Tm9kZSksbixpLG8pLG8ucHVzaChzKX0obywic2Nyb2xsIixuLnVwZGF0ZUJvdW5kLG4uc2Nyb2xsUGFyZW50cyksbi5zY3JvbGxFbGVtZW50PW8sbi5ldmVudHNFbmFibGVkPSEwLG59ZnVuY3Rpb24gc2UoKXt0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWR8fCh0aGlzLnN0YXRlPXJlKHRoaXMucmVmZXJlbmNlLHRoaXMub3B0aW9ucyx0aGlzLnN0YXRlLHRoaXMuc2NoZWR1bGVVcGRhdGUpKX1mdW5jdGlvbiBhZSgpe3ZhciB0LGU7dGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkJiYoY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5zY2hlZHVsZVVwZGF0ZSksdGhpcy5zdGF0ZT0odD10aGlzLnJlZmVyZW5jZSxlPXRoaXMuc3RhdGUsb2UodCkucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixlLnVwZGF0ZUJvdW5kKSxlLnNjcm9sbFBhcmVudHMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUudXBkYXRlQm91bmQpfSkpLGUudXBkYXRlQm91bmQ9bnVsbCxlLnNjcm9sbFBhcmVudHM9W10sZS5zY3JvbGxFbGVtZW50PW51bGwsZS5ldmVudHNFbmFibGVkPSExLGUpKX1mdW5jdGlvbiBsZSh0KXtyZXR1cm4iIiE9PXQmJiFpc05hTihwYXJzZUZsb2F0KHQpKSYmaXNGaW5pdGUodCl9ZnVuY3Rpb24gY2UodCxlKXtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbihuKXt2YXIgaT0iIjstMSE9PVsid2lkdGgiLCJoZWlnaHQiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXS5pbmRleE9mKG4pJiZsZShlW25dKSYmKGk9InB4IiksdC5zdHlsZVtuXT1lW25dK2l9KSl9dmFyIHVlPWd0JiYvRmlyZWZveC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7ZnVuY3Rpb24gZGUodCxlLG4pe3ZhciBpPSR0KHQsKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5hbWU9PT1lfSkpLG89ISFpJiZ0LnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5hbWU9PT1uJiZ0LmVuYWJsZWQmJnQub3JkZXI8aS5vcmRlcn0pKTtpZighbyl7dmFyIHI9ImAiK2UrImAiLHM9ImAiK24rImAiO2NvbnNvbGUud2FybihzKyIgbW9kaWZpZXIgaXMgcmVxdWlyZWQgYnkgIityKyIgbW9kaWZpZXIgaW4gb3JkZXIgdG8gd29yaywgYmUgc3VyZSB0byBpbmNsdWRlIGl0IGJlZm9yZSAiK3IrIiEiKX1yZXR1cm4gb312YXIgZmU9WyJhdXRvLXN0YXJ0IiwiYXV0byIsImF1dG8tZW5kIiwidG9wLXN0YXJ0IiwidG9wIiwidG9wLWVuZCIsInJpZ2h0LXN0YXJ0IiwicmlnaHQiLCJyaWdodC1lbmQiLCJib3R0b20tZW5kIiwiYm90dG9tIiwiYm90dG9tLXN0YXJ0IiwibGVmdC1lbmQiLCJsZWZ0IiwibGVmdC1zdGFydCJdLGhlPWZlLnNsaWNlKDMpO2Z1bmN0aW9uIHBlKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdJiZhcmd1bWVudHNbMV0sbj1oZS5pbmRleE9mKHQpLGk9aGUuc2xpY2UobisxKS5jb25jYXQoaGUuc2xpY2UoMCxuKSk7cmV0dXJuIGU/aS5yZXZlcnNlKCk6aX12YXIgbWU9ImZsaXAiLGdlPSJjbG9ja3dpc2UiLHZlPSJjb3VudGVyY2xvY2t3aXNlIjtmdW5jdGlvbiBiZSh0LGUsbixpKXt2YXIgbz1bMCwwXSxyPS0xIT09WyJyaWdodCIsImxlZnQiXS5pbmRleE9mKGkpLHM9dC5zcGxpdCgvKFwrfFwtKS8pLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudHJpbSgpfSkpLGE9cy5pbmRleE9mKCR0KHMsKGZ1bmN0aW9uKHQpe3JldHVybi0xIT09dC5zZWFyY2goLyx8XHMvKX0pKSk7c1thXSYmLTE9PT1zW2FdLmluZGV4T2YoIiwiKSYmY29uc29sZS53YXJuKCJPZmZzZXRzIHNlcGFyYXRlZCBieSB3aGl0ZSBzcGFjZShzKSBhcmUgZGVwcmVjYXRlZCwgdXNlIGEgY29tbWEgKCwpIGluc3RlYWQuIik7dmFyIGw9L1xzKixccyp8XHMrLyxjPS0xIT09YT9bcy5zbGljZSgwLGEpLmNvbmNhdChbc1thXS5zcGxpdChsKVswXV0pLFtzW2FdLnNwbGl0KGwpWzFdXS5jb25jYXQocy5zbGljZShhKzEpKV06W3NdO3JldHVybihjPWMubWFwKChmdW5jdGlvbih0LGkpe3ZhciBvPSgxPT09aT8hcjpyKT8iaGVpZ2h0Ijoid2lkdGgiLHM9ITE7cmV0dXJuIHQucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiIiPT09dFt0Lmxlbmd0aC0xXSYmLTEhPT1bIisiLCItIl0uaW5kZXhPZihlKT8odFt0Lmxlbmd0aC0xXT1lLHM9ITAsdCk6cz8odFt0Lmxlbmd0aC0xXSs9ZSxzPSExLHQpOnQuY29uY2F0KGUpfSksW10pLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQsZSxuLGkpe3ZhciBvPXQubWF0Y2goLygoPzpcLXxcKyk/XGQqXC4/XGQqKSguKikvKSxyPStvWzFdLHM9b1syXTtpZighcilyZXR1cm4gdDtpZigwPT09cy5pbmRleE9mKCIlIikpe3ZhciBhPXZvaWQgMDtzd2l0Y2gocyl7Y2FzZSIlcCI6YT1uO2JyZWFrO2Nhc2UiJSI6Y2FzZSIlciI6ZGVmYXVsdDphPWl9cmV0dXJuIEJ0KGEpW2VdLzEwMCpyfWlmKCJ2aCI9PT1zfHwidnciPT09cyl7cmV0dXJuKCJ2aCI9PT1zP01hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsd2luZG93LmlubmVySGVpZ2h0fHwwKTpNYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsd2luZG93LmlubmVyV2lkdGh8fDApKS8xMDAqcn1yZXR1cm4gcn0odCxvLGUsbil9KSl9KSkpLmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7dC5mb3JFYWNoKChmdW5jdGlvbihuLGkpe2xlKG4pJiYob1tlXSs9biooIi0iPT09dFtpLTFdPy0xOjEpKX0pKX0pKSxvfXZhciBfZT17cGxhY2VtZW50OiJib3R0b20iLHBvc2l0aW9uRml4ZWQ6ITEsZXZlbnRzRW5hYmxlZDohMCxyZW1vdmVPbkRlc3Ryb3k6ITEsb25DcmVhdGU6ZnVuY3Rpb24oKXt9LG9uVXBkYXRlOmZ1bmN0aW9uKCl7fSxtb2RpZmllcnM6e3NoaWZ0OntvcmRlcjoxMDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbih0KXt2YXIgZT10LnBsYWNlbWVudCxuPWUuc3BsaXQoIi0iKVswXSxpPWUuc3BsaXQoIi0iKVsxXTtpZihpKXt2YXIgbz10Lm9mZnNldHMscj1vLnJlZmVyZW5jZSxzPW8ucG9wcGVyLGE9LTEhPT1bImJvdHRvbSIsInRvcCJdLmluZGV4T2YobiksbD1hPyJsZWZ0IjoidG9wIixjPWE/IndpZHRoIjoiaGVpZ2h0Iix1PXtzdGFydDpIdCh7fSxsLHJbbF0pLGVuZDpIdCh7fSxsLHJbbF0rcltjXS1zW2NdKX07dC5vZmZzZXRzLnBvcHBlcj1xdCh7fSxzLHVbaV0pfXJldHVybiB0fX0sb2Zmc2V0OntvcmRlcjoyMDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbih0LGUpe3ZhciBuPWUub2Zmc2V0LGk9dC5wbGFjZW1lbnQsbz10Lm9mZnNldHMscj1vLnBvcHBlcixzPW8ucmVmZXJlbmNlLGE9aS5zcGxpdCgiLSIpWzBdLGw9dm9pZCAwO3JldHVybiBsPWxlKCtuKT9bK24sMF06YmUobixyLHMsYSksImxlZnQiPT09YT8oci50b3ArPWxbMF0sci5sZWZ0LT1sWzFdKToicmlnaHQiPT09YT8oci50b3ArPWxbMF0sci5sZWZ0Kz1sWzFdKToidG9wIj09PWE/KHIubGVmdCs9bFswXSxyLnRvcC09bFsxXSk6ImJvdHRvbSI9PT1hJiYoci5sZWZ0Kz1sWzBdLHIudG9wKz1sWzFdKSx0LnBvcHBlcj1yLHR9LG9mZnNldDowfSxwcmV2ZW50T3ZlcmZsb3c6e29yZGVyOjMwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKHQsZSl7dmFyIG49ZS5ib3VuZGFyaWVzRWxlbWVudHx8THQodC5pbnN0YW5jZS5wb3BwZXIpO3QuaW5zdGFuY2UucmVmZXJlbmNlPT09biYmKG49THQobikpO3ZhciBpPW5lKCJ0cmFuc2Zvcm0iKSxvPXQuaW5zdGFuY2UucG9wcGVyLnN0eWxlLHI9by50b3Ascz1vLmxlZnQsYT1vW2ldO28udG9wPSIiLG8ubGVmdD0iIixvW2ldPSIiO3ZhciBsPVZ0KHQuaW5zdGFuY2UucG9wcGVyLHQuaW5zdGFuY2UucmVmZXJlbmNlLGUucGFkZGluZyxuLHQucG9zaXRpb25GaXhlZCk7by50b3A9cixvLmxlZnQ9cyxvW2ldPWEsZS5ib3VuZGFyaWVzPWw7dmFyIGM9ZS5wcmlvcml0eSx1PXQub2Zmc2V0cy5wb3BwZXIsZD17cHJpbWFyeTpmdW5jdGlvbih0KXt2YXIgbj11W3RdO3JldHVybiB1W3RdPGxbdF0mJiFlLmVzY2FwZVdpdGhSZWZlcmVuY2UmJihuPU1hdGgubWF4KHVbdF0sbFt0XSkpLEh0KHt9LHQsbil9LHNlY29uZGFyeTpmdW5jdGlvbih0KXt2YXIgbj0icmlnaHQiPT09dD8ibGVmdCI6InRvcCIsaT11W25dO3JldHVybiB1W3RdPmxbdF0mJiFlLmVzY2FwZVdpdGhSZWZlcmVuY2UmJihpPU1hdGgubWluKHVbbl0sbFt0XS0oInJpZ2h0Ij09PXQ/dS53aWR0aDp1LmhlaWdodCkpKSxIdCh7fSxuLGkpfX07cmV0dXJuIGMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9LTEhPT1bImxlZnQiLCJ0b3AiXS5pbmRleE9mKHQpPyJwcmltYXJ5Ijoic2Vjb25kYXJ5Ijt1PXF0KHt9LHUsZFtlXSh0KSl9KSksdC5vZmZzZXRzLnBvcHBlcj11LHR9LHByaW9yaXR5OlsibGVmdCIsInJpZ2h0IiwidG9wIiwiYm90dG9tIl0scGFkZGluZzo1LGJvdW5kYXJpZXNFbGVtZW50OiJzY3JvbGxQYXJlbnQifSxrZWVwVG9nZXRoZXI6e29yZGVyOjQwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKHQpe3ZhciBlPXQub2Zmc2V0cyxuPWUucG9wcGVyLGk9ZS5yZWZlcmVuY2Usbz10LnBsYWNlbWVudC5zcGxpdCgiLSIpWzBdLHI9TWF0aC5mbG9vcixzPS0xIT09WyJ0b3AiLCJib3R0b20iXS5pbmRleE9mKG8pLGE9cz8icmlnaHQiOiJib3R0b20iLGw9cz8ibGVmdCI6InRvcCIsYz1zPyJ3aWR0aCI6ImhlaWdodCI7cmV0dXJuIG5bYV08cihpW2xdKSYmKHQub2Zmc2V0cy5wb3BwZXJbbF09cihpW2xdKS1uW2NdKSxuW2xdPnIoaVthXSkmJih0Lm9mZnNldHMucG9wcGVyW2xdPXIoaVthXSkpLHR9fSxhcnJvdzp7b3JkZXI6NTAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24odCxlKXt2YXIgbjtpZighZGUodC5pbnN0YW5jZS5tb2RpZmllcnMsImFycm93Iiwia2VlcFRvZ2V0aGVyIikpcmV0dXJuIHQ7dmFyIGk9ZS5lbGVtZW50O2lmKCJzdHJpbmciPT10eXBlb2YgaSl7aWYoIShpPXQuaW5zdGFuY2UucG9wcGVyLnF1ZXJ5U2VsZWN0b3IoaSkpKXJldHVybiB0fWVsc2UgaWYoIXQuaW5zdGFuY2UucG9wcGVyLmNvbnRhaW5zKGkpKXJldHVybiBjb25zb2xlLndhcm4oIldBUk5JTkc6IGBhcnJvdy5lbGVtZW50YCBtdXN0IGJlIGNoaWxkIG9mIGl0cyBwb3BwZXIgZWxlbWVudCEiKSx0O3ZhciBvPXQucGxhY2VtZW50LnNwbGl0KCItIilbMF0scj10Lm9mZnNldHMscz1yLnBvcHBlcixhPXIucmVmZXJlbmNlLGw9LTEhPT1bImxlZnQiLCJyaWdodCJdLmluZGV4T2YobyksYz1sPyJoZWlnaHQiOiJ3aWR0aCIsdT1sPyJUb3AiOiJMZWZ0IixkPXUudG9Mb3dlckNhc2UoKSxmPWw/ImxlZnQiOiJ0b3AiLGg9bD8iYm90dG9tIjoicmlnaHQiLHA9R3QoaSlbY107YVtoXS1wPHNbZF0mJih0Lm9mZnNldHMucG9wcGVyW2RdLT1zW2RdLShhW2hdLXApKSxhW2RdK3A+c1toXSYmKHQub2Zmc2V0cy5wb3BwZXJbZF0rPWFbZF0rcC1zW2hdKSx0Lm9mZnNldHMucG9wcGVyPUJ0KHQub2Zmc2V0cy5wb3BwZXIpO3ZhciBtPWFbZF0rYVtjXS8yLXAvMixnPXl0KHQuaW5zdGFuY2UucG9wcGVyKSx2PXBhcnNlRmxvYXQoZ1sibWFyZ2luIit1XSwxMCksYj1wYXJzZUZsb2F0KGdbImJvcmRlciIrdSsiV2lkdGgiXSwxMCksXz1tLXQub2Zmc2V0cy5wb3BwZXJbZF0tdi1iO3JldHVybiBfPU1hdGgubWF4KE1hdGgubWluKHNbY10tcCxfKSwwKSx0LmFycm93RWxlbWVudD1pLHQub2Zmc2V0cy5hcnJvdz0oSHQobj17fSxkLE1hdGgucm91bmQoXykpLEh0KG4sZiwiIiksbiksdH0sZWxlbWVudDoiW3gtYXJyb3ddIn0sZmxpcDp7b3JkZXI6NjAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24odCxlKXtpZihlZSh0Lmluc3RhbmNlLm1vZGlmaWVycywiaW5uZXIiKSlyZXR1cm4gdDtpZih0LmZsaXBwZWQmJnQucGxhY2VtZW50PT09dC5vcmlnaW5hbFBsYWNlbWVudClyZXR1cm4gdDt2YXIgbj1WdCh0Lmluc3RhbmNlLnBvcHBlcix0Lmluc3RhbmNlLnJlZmVyZW5jZSxlLnBhZGRpbmcsZS5ib3VuZGFyaWVzRWxlbWVudCx0LnBvc2l0aW9uRml4ZWQpLGk9dC5wbGFjZW1lbnQuc3BsaXQoIi0iKVswXSxvPUt0KGkpLHI9dC5wbGFjZW1lbnQuc3BsaXQoIi0iKVsxXXx8IiIscz1bXTtzd2l0Y2goZS5iZWhhdmlvcil7Y2FzZSBtZTpzPVtpLG9dO2JyZWFrO2Nhc2UgZ2U6cz1wZShpKTticmVhaztjYXNlIHZlOnM9cGUoaSwhMCk7YnJlYWs7ZGVmYXVsdDpzPWUuYmVoYXZpb3J9cmV0dXJuIHMuZm9yRWFjaCgoZnVuY3Rpb24oYSxsKXtpZihpIT09YXx8cy5sZW5ndGg9PT1sKzEpcmV0dXJuIHQ7aT10LnBsYWNlbWVudC5zcGxpdCgiLSIpWzBdLG89S3QoaSk7dmFyIGM9dC5vZmZzZXRzLnBvcHBlcix1PXQub2Zmc2V0cy5yZWZlcmVuY2UsZD1NYXRoLmZsb29yLGY9ImxlZnQiPT09aSYmZChjLnJpZ2h0KT5kKHUubGVmdCl8fCJyaWdodCI9PT1pJiZkKGMubGVmdCk8ZCh1LnJpZ2h0KXx8InRvcCI9PT1pJiZkKGMuYm90dG9tKT5kKHUudG9wKXx8ImJvdHRvbSI9PT1pJiZkKGMudG9wKTxkKHUuYm90dG9tKSxoPWQoYy5sZWZ0KTxkKG4ubGVmdCkscD1kKGMucmlnaHQpPmQobi5yaWdodCksbT1kKGMudG9wKTxkKG4udG9wKSxnPWQoYy5ib3R0b20pPmQobi5ib3R0b20pLHY9ImxlZnQiPT09aSYmaHx8InJpZ2h0Ij09PWkmJnB8fCJ0b3AiPT09aSYmbXx8ImJvdHRvbSI9PT1pJiZnLGI9LTEhPT1bInRvcCIsImJvdHRvbSJdLmluZGV4T2YoaSksXz0hIWUuZmxpcFZhcmlhdGlvbnMmJihiJiYic3RhcnQiPT09ciYmaHx8YiYmImVuZCI9PT1yJiZwfHwhYiYmInN0YXJ0Ij09PXImJm18fCFiJiYiZW5kIj09PXImJmcpLHk9ISFlLmZsaXBWYXJpYXRpb25zQnlDb250ZW50JiYoYiYmInN0YXJ0Ij09PXImJnB8fGImJiJlbmQiPT09ciYmaHx8IWImJiJzdGFydCI9PT1yJiZnfHwhYiYmImVuZCI9PT1yJiZtKSx3PV98fHk7KGZ8fHZ8fHcpJiYodC5mbGlwcGVkPSEwLChmfHx2KSYmKGk9c1tsKzFdKSx3JiYocj1mdW5jdGlvbih0KXtyZXR1cm4iZW5kIj09PXQ/InN0YXJ0Ijoic3RhcnQiPT09dD8iZW5kIjp0fShyKSksdC5wbGFjZW1lbnQ9aSsocj8iLSIrcjoiIiksdC5vZmZzZXRzLnBvcHBlcj1xdCh7fSx0Lm9mZnNldHMucG9wcGVyLFp0KHQuaW5zdGFuY2UucG9wcGVyLHQub2Zmc2V0cy5yZWZlcmVuY2UsdC5wbGFjZW1lbnQpKSx0PUp0KHQuaW5zdGFuY2UubW9kaWZpZXJzLHQsImZsaXAiKSl9KSksdH0sYmVoYXZpb3I6ImZsaXAiLHBhZGRpbmc6NSxib3VuZGFyaWVzRWxlbWVudDoidmlld3BvcnQiLGZsaXBWYXJpYXRpb25zOiExLGZsaXBWYXJpYXRpb25zQnlDb250ZW50OiExfSxpbm5lcjp7b3JkZXI6NzAwLGVuYWJsZWQ6ITEsZm46ZnVuY3Rpb24odCl7dmFyIGU9dC5wbGFjZW1lbnQsbj1lLnNwbGl0KCItIilbMF0saT10Lm9mZnNldHMsbz1pLnBvcHBlcixyPWkucmVmZXJlbmNlLHM9LTEhPT1bImxlZnQiLCJyaWdodCJdLmluZGV4T2YobiksYT0tMT09PVsidG9wIiwibGVmdCJdLmluZGV4T2Yobik7cmV0dXJuIG9bcz8ibGVmdCI6InRvcCJdPXJbbl0tKGE/b1tzPyJ3aWR0aCI6ImhlaWdodCJdOjApLHQucGxhY2VtZW50PUt0KGUpLHQub2Zmc2V0cy5wb3BwZXI9QnQobyksdH19LGhpZGU6e29yZGVyOjgwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKHQpe2lmKCFkZSh0Lmluc3RhbmNlLm1vZGlmaWVycywiaGlkZSIsInByZXZlbnRPdmVyZmxvdyIpKXJldHVybiB0O3ZhciBlPXQub2Zmc2V0cy5yZWZlcmVuY2Usbj0kdCh0Lmluc3RhbmNlLm1vZGlmaWVycywoZnVuY3Rpb24odCl7cmV0dXJuInByZXZlbnRPdmVyZmxvdyI9PT10Lm5hbWV9KSkuYm91bmRhcmllcztpZihlLmJvdHRvbTxuLnRvcHx8ZS5sZWZ0Pm4ucmlnaHR8fGUudG9wPm4uYm90dG9tfHxlLnJpZ2h0PG4ubGVmdCl7aWYoITA9PT10LmhpZGUpcmV0dXJuIHQ7dC5oaWRlPSEwLHQuYXR0cmlidXRlc1sieC1vdXQtb2YtYm91bmRhcmllcyJdPSIifWVsc2V7aWYoITE9PT10LmhpZGUpcmV0dXJuIHQ7dC5oaWRlPSExLHQuYXR0cmlidXRlc1sieC1vdXQtb2YtYm91bmRhcmllcyJdPSExfXJldHVybiB0fX0sY29tcHV0ZVN0eWxlOntvcmRlcjo4NTAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbih0LGUpe3ZhciBuPWUueCxpPWUueSxvPXQub2Zmc2V0cy5wb3BwZXIscj0kdCh0Lmluc3RhbmNlLm1vZGlmaWVycywoZnVuY3Rpb24odCl7cmV0dXJuImFwcGx5U3R5bGUiPT09dC5uYW1lfSkpLmdwdUFjY2VsZXJhdGlvbjt2b2lkIDAhPT1yJiZjb25zb2xlLndhcm4oIldBUk5JTkc6IGBncHVBY2NlbGVyYXRpb25gIG9wdGlvbiBtb3ZlZCB0byBgY29tcHV0ZVN0eWxlYCBtb2RpZmllciBhbmQgd2lsbCBub3QgYmUgc3VwcG9ydGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBQb3BwZXIuanMhIik7dmFyIHM9dm9pZCAwIT09cj9yOmUuZ3B1QWNjZWxlcmF0aW9uLGE9THQodC5pbnN0YW5jZS5wb3BwZXIpLGw9enQoYSksYz17cG9zaXRpb246by5wb3NpdGlvbn0sdT1mdW5jdGlvbih0LGUpe3ZhciBuPXQub2Zmc2V0cyxpPW4ucG9wcGVyLG89bi5yZWZlcmVuY2Uscj1NYXRoLnJvdW5kLHM9TWF0aC5mbG9vcixhPWZ1bmN0aW9uKHQpe3JldHVybiB0fSxsPXIoby53aWR0aCksYz1yKGkud2lkdGgpLHU9LTEhPT1bImxlZnQiLCJyaWdodCJdLmluZGV4T2YodC5wbGFjZW1lbnQpLGQ9LTEhPT10LnBsYWNlbWVudC5pbmRleE9mKCItIiksZj1lP3V8fGR8fGwlMj09YyUyP3I6czphLGg9ZT9yOmE7cmV0dXJue2xlZnQ6ZihsJTI9PTEmJmMlMj09MSYmIWQmJmU/aS5sZWZ0LTE6aS5sZWZ0KSx0b3A6aChpLnRvcCksYm90dG9tOmgoaS5ib3R0b20pLHJpZ2h0OmYoaS5yaWdodCl9fSh0LHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPDJ8fCF1ZSksZD0iYm90dG9tIj09PW4/InRvcCI6ImJvdHRvbSIsZj0icmlnaHQiPT09aT8ibGVmdCI6InJpZ2h0IixoPW5lKCJ0cmFuc2Zvcm0iKSxwPXZvaWQgMCxtPXZvaWQgMDtpZihtPSJib3R0b20iPT09ZD8iSFRNTCI9PT1hLm5vZGVOYW1lPy1hLmNsaWVudEhlaWdodCt1LmJvdHRvbTotbC5oZWlnaHQrdS5ib3R0b206dS50b3AscD0icmlnaHQiPT09Zj8iSFRNTCI9PT1hLm5vZGVOYW1lPy1hLmNsaWVudFdpZHRoK3UucmlnaHQ6LWwud2lkdGgrdS5yaWdodDp1LmxlZnQscyYmaCljW2hdPSJ0cmFuc2xhdGUzZCgiK3ArInB4LCAiK20rInB4LCAwKSIsY1tkXT0wLGNbZl09MCxjLndpbGxDaGFuZ2U9InRyYW5zZm9ybSI7ZWxzZXt2YXIgZz0iYm90dG9tIj09PWQ/LTE6MSx2PSJyaWdodCI9PT1mPy0xOjE7Y1tkXT1tKmcsY1tmXT1wKnYsYy53aWxsQ2hhbmdlPWQrIiwgIitmfXZhciBiPXsieC1wbGFjZW1lbnQiOnQucGxhY2VtZW50fTtyZXR1cm4gdC5hdHRyaWJ1dGVzPXF0KHt9LGIsdC5hdHRyaWJ1dGVzKSx0LnN0eWxlcz1xdCh7fSxjLHQuc3R5bGVzKSx0LmFycm93U3R5bGVzPXF0KHt9LHQub2Zmc2V0cy5hcnJvdyx0LmFycm93U3R5bGVzKSx0fSxncHVBY2NlbGVyYXRpb246ITEseDoiYm90dG9tIix5OiJyaWdodCJ9LGFwcGx5U3R5bGU6e29yZGVyOjkwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKHQpe3JldHVybiBjZSh0Lmluc3RhbmNlLnBvcHBlcix0LnN0eWxlcyksZnVuY3Rpb24odCxlKXtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbihuKXshMSE9PWVbbl0/dC5zZXRBdHRyaWJ1dGUobixlW25dKTp0LnJlbW92ZUF0dHJpYnV0ZShuKX0pKX0odC5pbnN0YW5jZS5wb3BwZXIsdC5hdHRyaWJ1dGVzKSx0LmFycm93RWxlbWVudCYmT2JqZWN0LmtleXModC5hcnJvd1N0eWxlcykubGVuZ3RoJiZjZSh0LmFycm93RWxlbWVudCx0LmFycm93U3R5bGVzKSx0fSxvbkxvYWQ6ZnVuY3Rpb24odCxlLG4saSxvKXt2YXIgcj1RdChvLGUsdCxuLnBvc2l0aW9uRml4ZWQpLHM9WHQobi5wbGFjZW1lbnQscixlLHQsbi5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCxuLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpO3JldHVybiBlLnNldEF0dHJpYnV0ZSgieC1wbGFjZW1lbnQiLHMpLGNlKGUse3Bvc2l0aW9uOm4ucG9zaXRpb25GaXhlZD8iZml4ZWQiOiJhYnNvbHV0ZSJ9KSxufSxncHVBY2NlbGVyYXRpb246dm9pZCAwfX19LHllPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4pe3ZhciBpPXRoaXMsbz1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e307TXQodGhpcyx0KSx0aGlzLnNjaGVkdWxlVXBkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShpLnVwZGF0ZSl9LHRoaXMudXBkYXRlPWJ0KHRoaXMudXBkYXRlLmJpbmQodGhpcykpLHRoaXMub3B0aW9ucz1xdCh7fSx0LkRlZmF1bHRzLG8pLHRoaXMuc3RhdGU9e2lzRGVzdHJveWVkOiExLGlzQ3JlYXRlZDohMSxzY3JvbGxQYXJlbnRzOltdfSx0aGlzLnJlZmVyZW5jZT1lJiZlLmpxdWVyeT9lWzBdOmUsdGhpcy5wb3BwZXI9biYmbi5qcXVlcnk/blswXTpuLHRoaXMub3B0aW9ucy5tb2RpZmllcnM9e30sT2JqZWN0LmtleXMocXQoe30sdC5EZWZhdWx0cy5tb2RpZmllcnMsby5tb2RpZmllcnMpKS5mb3JFYWNoKChmdW5jdGlvbihlKXtpLm9wdGlvbnMubW9kaWZpZXJzW2VdPXF0KHt9LHQuRGVmYXVsdHMubW9kaWZpZXJzW2VdfHx7fSxvLm1vZGlmaWVycz9vLm1vZGlmaWVyc1tlXTp7fSl9KSksdGhpcy5tb2RpZmllcnM9T2JqZWN0LmtleXModGhpcy5vcHRpb25zLm1vZGlmaWVycykubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gcXQoe25hbWU6dH0saS5vcHRpb25zLm1vZGlmaWVyc1t0XSl9KSkuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5vcmRlci1lLm9yZGVyfSkpLHRoaXMubW9kaWZpZXJzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuZW5hYmxlZCYmX3QodC5vbkxvYWQpJiZ0Lm9uTG9hZChpLnJlZmVyZW5jZSxpLnBvcHBlcixpLm9wdGlvbnMsdCxpLnN0YXRlKX0pKSx0aGlzLnVwZGF0ZSgpO3ZhciByPXRoaXMub3B0aW9ucy5ldmVudHNFbmFibGVkO3ImJnRoaXMuZW5hYmxlRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQ9cn1yZXR1cm4gUHQodCxbe2tleToidXBkYXRlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0ZS5jYWxsKHRoaXMpfX0se2tleToiZGVzdHJveSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gaWUuY2FsbCh0aGlzKX19LHtrZXk6ImVuYWJsZUV2ZW50TGlzdGVuZXJzIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBzZS5jYWxsKHRoaXMpfX0se2tleToiZGlzYWJsZUV2ZW50TGlzdGVuZXJzIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBhZS5jYWxsKHRoaXMpfX1dKSx0fSgpO3llLlV0aWxzPSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6Z2xvYmFsKS5Qb3BwZXJVdGlscyx5ZS5wbGFjZW1lbnRzPWZlLHllLkRlZmF1bHRzPV9lO3ZhciB3ZT0iZHJvcGRvd24iLEVlPW5ldyBSZWdFeHAoIkFycm93VXB8QXJyb3dEb3dufEVzY2FwZSIpLENlPXtvZmZzZXQ6MCxmbGlwOiEwLGJvdW5kYXJ5OiJzY3JvbGxQYXJlbnQiLHJlZmVyZW5jZToidG9nZ2xlIixkaXNwbGF5OiJkeW5hbWljIixwb3BwZXJDb25maWc6bnVsbH0seGU9e29mZnNldDoiKG51bWJlcnxzdHJpbmd8ZnVuY3Rpb24pIixmbGlwOiJib29sZWFuIixib3VuZGFyeToiKHN0cmluZ3xlbGVtZW50KSIscmVmZXJlbmNlOiIoc3RyaW5nfGVsZW1lbnQpIixkaXNwbGF5OiJzdHJpbmciLHBvcHBlckNvbmZpZzoiKG51bGx8b2JqZWN0KSJ9LFRlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe3RoaXMuX2VsZW1lbnQ9dCx0aGlzLl9wb3BwZXI9bnVsbCx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMuX21lbnU9dGhpcy5fZ2V0TWVudUVsZW1lbnQoKSx0aGlzLl9pbk5hdmJhcj10aGlzLl9kZXRlY3ROYXZiYXIoKSx0aGlzLl9hZGRFdmVudExpc3RlbmVycygpLEModCwiYnMuZHJvcGRvd24iLHRoaXMpfXZhciBuPXQucHJvdG90eXBlO3JldHVybiBuLnRvZ2dsZT1mdW5jdGlvbigpe2lmKCF0aGlzLl9lbGVtZW50LmRpc2FibGVkJiYhdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImRpc2FibGVkIikpe3ZhciBlPXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJzaG93Iik7dC5jbGVhck1lbnVzKCksZXx8dGhpcy5zaG93KCl9fSxuLnNob3c9ZnVuY3Rpb24oKXtpZighKHRoaXMuX2VsZW1lbnQuZGlzYWJsZWR8fHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpfHx0aGlzLl9tZW51LmNsYXNzTGlzdC5jb250YWlucygic2hvdyIpKSl7dmFyIGU9dC5nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KSxuPXtyZWxhdGVkVGFyZ2V0OnRoaXMuX2VsZW1lbnR9O2lmKCFXLnRyaWdnZXIodGhpcy5fZWxlbWVudCwic2hvdy5icy5kcm9wZG93biIsbikuZGVmYXVsdFByZXZlbnRlZCl7aWYoIXRoaXMuX2luTmF2YmFyKXtpZih2b2lkIDA9PT15ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJCb290c3RyYXAncyBkcm9wZG93bnMgcmVxdWlyZSBQb3BwZXIuanMgKGh0dHBzOi8vcG9wcGVyLmpzLm9yZykiKTt2YXIgaT10aGlzLl9lbGVtZW50OyJwYXJlbnQiPT09dGhpcy5fY29uZmlnLnJlZmVyZW5jZT9pPWU6bSh0aGlzLl9jb25maWcucmVmZXJlbmNlKSYmKGk9dGhpcy5fY29uZmlnLnJlZmVyZW5jZSx2b2lkIDAhPT10aGlzLl9jb25maWcucmVmZXJlbmNlLmpxdWVyeSYmKGk9dGhpcy5fY29uZmlnLnJlZmVyZW5jZVswXSkpLCJzY3JvbGxQYXJlbnQiIT09dGhpcy5fY29uZmlnLmJvdW5kYXJ5JiZlLmNsYXNzTGlzdC5hZGQoInBvc2l0aW9uLXN0YXRpYyIpLHRoaXMuX3BvcHBlcj1uZXcgeWUoaSx0aGlzLl9tZW51LHRoaXMuX2dldFBvcHBlckNvbmZpZygpKX12YXIgbztpZigib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmIWUuY2xvc2VzdCgiLm5hdmJhci1uYXYiKSkobz1bXSkuY29uY2F0LmFwcGx5KG8sZG9jdW1lbnQuYm9keS5jaGlsZHJlbikuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIFcub24odCwibW91c2VvdmVyIixudWxsLChmdW5jdGlvbigpe30pKX0pKTt0aGlzLl9lbGVtZW50LmZvY3VzKCksdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCEwKSx0dC50b2dnbGVDbGFzcyh0aGlzLl9tZW51LCJzaG93IiksdHQudG9nZ2xlQ2xhc3ModGhpcy5fZWxlbWVudCwic2hvdyIpLFcudHJpZ2dlcihlLCJzaG93bi5icy5kcm9wZG93biIsbil9fX0sbi5oaWRlPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX2VsZW1lbnQuZGlzYWJsZWQmJiF0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiZGlzYWJsZWQiKSYmdGhpcy5fbWVudS5jbGFzc0xpc3QuY29udGFpbnMoInNob3ciKSl7dmFyIGU9dC5nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KSxuPXtyZWxhdGVkVGFyZ2V0OnRoaXMuX2VsZW1lbnR9O1cudHJpZ2dlcihlLCJoaWRlLmJzLmRyb3Bkb3duIixuKS5kZWZhdWx0UHJldmVudGVkfHwodGhpcy5fcG9wcGVyJiZ0aGlzLl9wb3BwZXIuZGVzdHJveSgpLHR0LnRvZ2dsZUNsYXNzKHRoaXMuX21lbnUsInNob3ciKSx0dC50b2dnbGVDbGFzcyh0aGlzLl9lbGVtZW50LCJzaG93IiksVy50cmlnZ2VyKGUsImhpZGRlbi5icy5kcm9wZG93biIsbikpfX0sbi5kaXNwb3NlPWZ1bmN0aW9uKCl7VCh0aGlzLl9lbGVtZW50LCJicy5kcm9wZG93biIpLFcub2ZmKHRoaXMuX2VsZW1lbnQsIi5icy5kcm9wZG93biIpLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9tZW51PW51bGwsdGhpcy5fcG9wcGVyJiYodGhpcy5fcG9wcGVyLmRlc3Ryb3koKSx0aGlzLl9wb3BwZXI9bnVsbCl9LG4udXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5faW5OYXZiYXI9dGhpcy5fZGV0ZWN0TmF2YmFyKCksdGhpcy5fcG9wcGVyJiZ0aGlzLl9wb3BwZXIuc2NoZWR1bGVVcGRhdGUoKX0sbi5fYWRkRXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO1cub24odGhpcy5fZWxlbWVudCwiY2xpY2suYnMuZHJvcGRvd24iLChmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0LnRvZ2dsZSgpfSkpfSxuLl9nZXRDb25maWc9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9byhvKG8oe30sdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0KSx0dC5nZXREYXRhQXR0cmlidXRlcyh0aGlzLl9lbGVtZW50KSksdCksdih3ZSx0LHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpLHR9LG4uX2dldE1lbnVFbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGV0Lm5leHQodGhpcy5fZWxlbWVudCwiLmRyb3Bkb3duLW1lbnUiKVswXX0sbi5fZ2V0UGxhY2VtZW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZWxlbWVudC5wYXJlbnROb2RlLGU9ImJvdHRvbS1zdGFydCI7cmV0dXJuIHQuY2xhc3NMaXN0LmNvbnRhaW5zKCJkcm9wdXAiKT8oZT0idG9wLXN0YXJ0Iix0aGlzLl9tZW51LmNsYXNzTGlzdC5jb250YWlucygiZHJvcGRvd24tbWVudS1yaWdodCIpJiYoZT0idG9wLWVuZCIpKTp0LmNsYXNzTGlzdC5jb250YWlucygiZHJvcHJpZ2h0Iik/ZT0icmlnaHQtc3RhcnQiOnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJkcm9wbGVmdCIpP2U9ImxlZnQtc3RhcnQiOnRoaXMuX21lbnUuY2xhc3NMaXN0LmNvbnRhaW5zKCJkcm9wZG93bi1tZW51LXJpZ2h0IikmJihlPSJib3R0b20tZW5kIiksZX0sbi5fZGV0ZWN0TmF2YmFyPWZ1bmN0aW9uKCl7cmV0dXJuIEJvb2xlYW4odGhpcy5fZWxlbWVudC5jbG9zZXN0KCIubmF2YmFyIikpfSxuLl9nZXRPZmZzZXQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9e307cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX2NvbmZpZy5vZmZzZXQ/ZS5mbj1mdW5jdGlvbihlKXtyZXR1cm4gZS5vZmZzZXRzPW8obyh7fSxlLm9mZnNldHMpLHQuX2NvbmZpZy5vZmZzZXQoZS5vZmZzZXRzLHQuX2VsZW1lbnQpfHx7fSksZX06ZS5vZmZzZXQ9dGhpcy5fY29uZmlnLm9mZnNldCxlfSxuLl9nZXRQb3BwZXJDb25maWc9ZnVuY3Rpb24oKXt2YXIgdD17cGxhY2VtZW50OnRoaXMuX2dldFBsYWNlbWVudCgpLG1vZGlmaWVyczp7b2Zmc2V0OnRoaXMuX2dldE9mZnNldCgpLGZsaXA6e2VuYWJsZWQ6dGhpcy5fY29uZmlnLmZsaXB9LHByZXZlbnRPdmVyZmxvdzp7Ym91bmRhcmllc0VsZW1lbnQ6dGhpcy5fY29uZmlnLmJvdW5kYXJ5fX19O3JldHVybiJzdGF0aWMiPT09dGhpcy5fY29uZmlnLmRpc3BsYXkmJih0Lm1vZGlmaWVycy5hcHBseVN0eWxlPXtlbmFibGVkOiExfSksbyhvKHt9LHQpLHRoaXMuX2NvbmZpZy5wb3BwZXJDb25maWcpfSx0LmRyb3Bkb3duSW50ZXJmYWNlPWZ1bmN0aW9uKGUsbil7dmFyIGk9eChlLCJicy5kcm9wZG93biIpO2lmKGl8fChpPW5ldyB0KGUsIm9iamVjdCI9PXR5cGVvZiBuP246bnVsbCkpLCJzdHJpbmciPT10eXBlb2Ygbil7aWYodm9pZCAwPT09aVtuXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrbisnIicpO2lbbl0oKX19LHQualF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dC5kcm9wZG93bkludGVyZmFjZSh0aGlzLGUpfSkpfSx0LmNsZWFyTWVudXM9ZnVuY3Rpb24oZSl7aWYoIWV8fDIhPT1lLmJ1dHRvbiYmKCJrZXl1cCIhPT1lLnR5cGV8fCJUYWIiPT09ZS5rZXkpKWZvcih2YXIgbj1ldC5maW5kKCdbZGF0YS10b2dnbGU9ImRyb3Bkb3duIl0nKSxpPTAsbz1uLmxlbmd0aDtpPG87aSsrKXt2YXIgcj10LmdldFBhcmVudEZyb21FbGVtZW50KG5baV0pLHM9eChuW2ldLCJicy5kcm9wZG93biIpLGE9e3JlbGF0ZWRUYXJnZXQ6bltpXX07aWYoZSYmImNsaWNrIj09PWUudHlwZSYmKGEuY2xpY2tFdmVudD1lKSxzKXt2YXIgbD1zLl9tZW51O2lmKG5baV0uY2xhc3NMaXN0LmNvbnRhaW5zKCJzaG93IikpaWYoIShlJiYoImNsaWNrIj09PWUudHlwZSYmL2lucHV0fHRleHRhcmVhL2kudGVzdChlLnRhcmdldC50YWdOYW1lKXx8ImtleXVwIj09PWUudHlwZSYmIlRhYiI9PT1lLmtleSkmJmwuY29udGFpbnMoZS50YXJnZXQpKSlpZighVy50cmlnZ2VyKHIsImhpZGUuYnMuZHJvcGRvd24iLGEpLmRlZmF1bHRQcmV2ZW50ZWQpe3ZhciBjO2lmKCJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KShjPVtdKS5jb25jYXQuYXBwbHkoYyxkb2N1bWVudC5ib2R5LmNoaWxkcmVuKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gVy5vZmYodCwibW91c2VvdmVyIixudWxsLChmdW5jdGlvbigpe30pKX0pKTtuW2ldLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIikscy5fcG9wcGVyJiZzLl9wb3BwZXIuZGVzdHJveSgpLGwuY2xhc3NMaXN0LnJlbW92ZSgic2hvdyIpLG5baV0uY2xhc3NMaXN0LnJlbW92ZSgic2hvdyIpLFcudHJpZ2dlcihyLCJoaWRkZW4uYnMuZHJvcGRvd24iLGEpfX19fSx0LmdldFBhcmVudEZyb21FbGVtZW50PWZ1bmN0aW9uKHQpe3JldHVybiBmKHQpfHx0LnBhcmVudE5vZGV9LHQuZGF0YUFwaUtleWRvd25IYW5kbGVyPWZ1bmN0aW9uKGUpe2lmKCEoL2lucHV0fHRleHRhcmVhL2kudGVzdChlLnRhcmdldC50YWdOYW1lKT8iU3BhY2UiPT09ZS5rZXl8fCJFc2NhcGUiIT09ZS5rZXkmJigiQXJyb3dEb3duIiE9PWUua2V5JiYiQXJyb3dVcCIhPT1lLmtleXx8ZS50YXJnZXQuY2xvc2VzdCgiLmRyb3Bkb3duLW1lbnUiKSk6IUVlLnRlc3QoZS5rZXkpKSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLCF0aGlzLmRpc2FibGVkJiYhdGhpcy5jbGFzc0xpc3QuY29udGFpbnMoImRpc2FibGVkIikpKXt2YXIgbj10LmdldFBhcmVudEZyb21FbGVtZW50KHRoaXMpLGk9dGhpcy5jbGFzc0xpc3QuY29udGFpbnMoInNob3ciKTtpZigiRXNjYXBlIj09PWUua2V5KXJldHVybih0aGlzLm1hdGNoZXMoJ1tkYXRhLXRvZ2dsZT0iZHJvcGRvd24iXScpP3RoaXM6ZXQucHJldih0aGlzLCdbZGF0YS10b2dnbGU9ImRyb3Bkb3duIl0nKVswXSkuZm9jdXMoKSx2b2lkIHQuY2xlYXJNZW51cygpO2lmKGkmJiJTcGFjZSIhPT1lLmtleSl7dmFyIG89ZXQuZmluZCgiLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCkiLG4pLmZpbHRlcihiKTtpZihvLmxlbmd0aCl7dmFyIHI9by5pbmRleE9mKGUudGFyZ2V0KTsiQXJyb3dVcCI9PT1lLmtleSYmcj4wJiZyLS0sIkFycm93RG93biI9PT1lLmtleSYmcjxvLmxlbmd0aC0xJiZyKyssb1tyPS0xPT09cj8wOnJdLmZvY3VzKCl9fWVsc2UgdC5jbGVhck1lbnVzKCl9fSx0LmdldEluc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiB4KHQsImJzLmRyb3Bkb3duIil9LGUodCxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNS4wLjAtYWxwaGExIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBDZX19LHtrZXk6IkRlZmF1bHRUeXBlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4geGV9fV0pLHR9KCk7Vy5vbihkb2N1bWVudCwia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0iZHJvcGRvd24iXScsVGUuZGF0YUFwaUtleWRvd25IYW5kbGVyKSxXLm9uKGRvY3VtZW50LCJrZXlkb3duLmJzLmRyb3Bkb3duLmRhdGEtYXBpIiwiLmRyb3Bkb3duLW1lbnUiLFRlLmRhdGFBcGlLZXlkb3duSGFuZGxlciksVy5vbihkb2N1bWVudCwiY2xpY2suYnMuZHJvcGRvd24uZGF0YS1hcGkiLFRlLmNsZWFyTWVudXMpLFcub24oZG9jdW1lbnQsImtleXVwLmJzLmRyb3Bkb3duLmRhdGEtYXBpIixUZS5jbGVhck1lbnVzKSxXLm9uKGRvY3VtZW50LCJjbGljay5icy5kcm9wZG93bi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0iZHJvcGRvd24iXScsKGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLFRlLmRyb3Bkb3duSW50ZXJmYWNlKHRoaXMsInRvZ2dsZSIpfSkpLFcub24oZG9jdW1lbnQsImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIiwiLmRyb3Bkb3duIGZvcm0iLChmdW5jdGlvbih0KXtyZXR1cm4gdC5zdG9wUHJvcGFnYXRpb24oKX0pKTt2YXIgU2U9dygpO2lmKFNlKXt2YXIgTGU9U2UuZm5bd2VdO1NlLmZuW3dlXT1UZS5qUXVlcnlJbnRlcmZhY2UsU2UuZm5bd2VdLkNvbnN0cnVjdG9yPVRlLFNlLmZuW3dlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIFNlLmZuW3dlXT1MZSxUZS5qUXVlcnlJbnRlcmZhY2V9fXZhciBrZT17YmFja2Ryb3A6ITAsa2V5Ym9hcmQ6ITAsZm9jdXM6ITAsc2hvdzohMH0sQWU9e2JhY2tkcm9wOiIoYm9vbGVhbnxzdHJpbmcpIixrZXlib2FyZDoiYm9vbGVhbiIsZm9jdXM6ImJvb2xlYW4iLHNob3c6ImJvb2xlYW4ifSxPZT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlKXt0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMuX2VsZW1lbnQ9dCx0aGlzLl9kaWFsb2c9ZXQuZmluZE9uZSgiLm1vZGFsLWRpYWxvZyIsdCksdGhpcy5fYmFja2Ryb3A9bnVsbCx0aGlzLl9pc1Nob3duPSExLHRoaXMuX2lzQm9keU92ZXJmbG93aW5nPSExLHRoaXMuX2lnbm9yZUJhY2tkcm9wQ2xpY2s9ITEsdGhpcy5faXNUcmFuc2l0aW9uaW5nPSExLHRoaXMuX3Njcm9sbGJhcldpZHRoPTAsQyh0LCJicy5tb2RhbCIsdGhpcyl9dmFyIG49dC5wcm90b3R5cGU7cmV0dXJuIG4udG9nZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pc1Nob3duP3RoaXMuaGlkZSgpOnRoaXMuc2hvdyh0KX0sbi5zaG93PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYoIXRoaXMuX2lzU2hvd24mJiF0aGlzLl9pc1RyYW5zaXRpb25pbmcpe3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJmYWRlIikmJih0aGlzLl9pc1RyYW5zaXRpb25pbmc9ITApO3ZhciBuPVcudHJpZ2dlcih0aGlzLl9lbGVtZW50LCJzaG93LmJzLm1vZGFsIix7cmVsYXRlZFRhcmdldDp0fSk7dGhpcy5faXNTaG93bnx8bi5kZWZhdWx0UHJldmVudGVkfHwodGhpcy5faXNTaG93bj0hMCx0aGlzLl9jaGVja1Njcm9sbGJhcigpLHRoaXMuX3NldFNjcm9sbGJhcigpLHRoaXMuX2FkanVzdERpYWxvZygpLHRoaXMuX3NldEVzY2FwZUV2ZW50KCksdGhpcy5fc2V0UmVzaXplRXZlbnQoKSxXLm9uKHRoaXMuX2VsZW1lbnQsImNsaWNrLmRpc21pc3MuYnMubW9kYWwiLCdbZGF0YS1kaXNtaXNzPSJtb2RhbCJdJywoZnVuY3Rpb24odCl7cmV0dXJuIGUuaGlkZSh0KX0pKSxXLm9uKHRoaXMuX2RpYWxvZywibW91c2Vkb3duLmRpc21pc3MuYnMubW9kYWwiLChmdW5jdGlvbigpe1cub25lKGUuX2VsZW1lbnQsIm1vdXNldXAuZGlzbWlzcy5icy5tb2RhbCIsKGZ1bmN0aW9uKHQpe3QudGFyZ2V0PT09ZS5fZWxlbWVudCYmKGUuX2lnbm9yZUJhY2tkcm9wQ2xpY2s9ITApfSkpfSkpLHRoaXMuX3Nob3dCYWNrZHJvcCgoZnVuY3Rpb24oKXtyZXR1cm4gZS5fc2hvd0VsZW1lbnQodCl9KSkpfX0sbi5oaWRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYoKHQmJnQucHJldmVudERlZmF1bHQoKSx0aGlzLl9pc1Nob3duJiYhdGhpcy5faXNUcmFuc2l0aW9uaW5nKSYmIVcudHJpZ2dlcih0aGlzLl9lbGVtZW50LCJoaWRlLmJzLm1vZGFsIikuZGVmYXVsdFByZXZlbnRlZCl7dGhpcy5faXNTaG93bj0hMTt2YXIgbj10aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiZmFkZSIpO2lmKG4mJih0aGlzLl9pc1RyYW5zaXRpb25pbmc9ITApLHRoaXMuX3NldEVzY2FwZUV2ZW50KCksdGhpcy5fc2V0UmVzaXplRXZlbnQoKSxXLm9mZihkb2N1bWVudCwiZm9jdXNpbi5icy5tb2RhbCIpLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgic2hvdyIpLFcub2ZmKHRoaXMuX2VsZW1lbnQsImNsaWNrLmRpc21pc3MuYnMubW9kYWwiKSxXLm9mZih0aGlzLl9kaWFsb2csIm1vdXNlZG93bi5kaXNtaXNzLmJzLm1vZGFsIiksbil7dmFyIGk9aCh0aGlzLl9lbGVtZW50KTtXLm9uZSh0aGlzLl9lbGVtZW50LCJ0cmFuc2l0aW9uZW5kIiwoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2hpZGVNb2RhbCh0KX0pKSxnKHRoaXMuX2VsZW1lbnQsaSl9ZWxzZSB0aGlzLl9oaWRlTW9kYWwoKX19LG4uZGlzcG9zZT1mdW5jdGlvbigpe1t3aW5kb3csdGhpcy5fZWxlbWVudCx0aGlzLl9kaWFsb2ddLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBXLm9mZih0LCIuYnMubW9kYWwiKX0pKSxXLm9mZihkb2N1bWVudCwiZm9jdXNpbi5icy5tb2RhbCIpLFQodGhpcy5fZWxlbWVudCwiYnMubW9kYWwiKSx0aGlzLl9jb25maWc9bnVsbCx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fZGlhbG9nPW51bGwsdGhpcy5fYmFja2Ryb3A9bnVsbCx0aGlzLl9pc1Nob3duPW51bGwsdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmc9bnVsbCx0aGlzLl9pZ25vcmVCYWNrZHJvcENsaWNrPW51bGwsdGhpcy5faXNUcmFuc2l0aW9uaW5nPW51bGwsdGhpcy5fc2Nyb2xsYmFyV2lkdGg9bnVsbH0sbi5oYW5kbGVVcGRhdGU9ZnVuY3Rpb24oKXt0aGlzLl9hZGp1c3REaWFsb2coKX0sbi5fZ2V0Q29uZmlnPWZ1bmN0aW9uKHQpe3JldHVybiB0PW8obyh7fSxrZSksdCksdigibW9kYWwiLHQsQWUpLHR9LG4uX3Nob3dFbGVtZW50PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiZmFkZSIpLGk9ZXQuZmluZE9uZSgiLm1vZGFsLWJvZHkiLHRoaXMuX2RpYWxvZyk7dGhpcy5fZWxlbWVudC5wYXJlbnROb2RlJiZ0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERXx8ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50KSx0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0aGlzLl9lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSx0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1tb2RhbCIsITApLHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJyb2xlIiwiZGlhbG9nIiksdGhpcy5fZWxlbWVudC5zY3JvbGxUb3A9MCxpJiYoaS5zY3JvbGxUb3A9MCksbiYmeSh0aGlzLl9lbGVtZW50KSx0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoInNob3ciKSx0aGlzLl9jb25maWcuZm9jdXMmJnRoaXMuX2VuZm9yY2VGb2N1cygpO3ZhciBvPWZ1bmN0aW9uKCl7ZS5fY29uZmlnLmZvY3VzJiZlLl9lbGVtZW50LmZvY3VzKCksZS5faXNUcmFuc2l0aW9uaW5nPSExLFcudHJpZ2dlcihlLl9lbGVtZW50LCJzaG93bi5icy5tb2RhbCIse3JlbGF0ZWRUYXJnZXQ6dH0pfTtpZihuKXt2YXIgcj1oKHRoaXMuX2RpYWxvZyk7Vy5vbmUodGhpcy5fZGlhbG9nLCJ0cmFuc2l0aW9uZW5kIixvKSxnKHRoaXMuX2RpYWxvZyxyKX1lbHNlIG8oKX0sbi5fZW5mb3JjZUZvY3VzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztXLm9mZihkb2N1bWVudCwiZm9jdXNpbi5icy5tb2RhbCIpLFcub24oZG9jdW1lbnQsImZvY3VzaW4uYnMubW9kYWwiLChmdW5jdGlvbihlKXtkb2N1bWVudD09PWUudGFyZ2V0fHx0Ll9lbGVtZW50PT09ZS50YXJnZXR8fHQuX2VsZW1lbnQuY29udGFpbnMoZS50YXJnZXQpfHx0Ll9lbGVtZW50LmZvY3VzKCl9KSl9LG4uX3NldEVzY2FwZUV2ZW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLl9pc1Nob3duP1cub24odGhpcy5fZWxlbWVudCwia2V5ZG93bi5kaXNtaXNzLmJzLm1vZGFsIiwoZnVuY3Rpb24oZSl7dC5fY29uZmlnLmtleWJvYXJkJiYiRXNjYXBlIj09PWUua2V5PyhlLnByZXZlbnREZWZhdWx0KCksdC5oaWRlKCkpOnQuX2NvbmZpZy5rZXlib2FyZHx8IkVzY2FwZSIhPT1lLmtleXx8dC5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbigpfSkpOlcub2ZmKHRoaXMuX2VsZW1lbnQsImtleWRvd24uZGlzbWlzcy5icy5tb2RhbCIpfSxuLl9zZXRSZXNpemVFdmVudD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5faXNTaG93bj9XLm9uKHdpbmRvdywicmVzaXplLmJzLm1vZGFsIiwoZnVuY3Rpb24oKXtyZXR1cm4gdC5fYWRqdXN0RGlhbG9nKCl9KSk6Vy5vZmYod2luZG93LCJyZXNpemUuYnMubW9kYWwiKX0sbi5faGlkZU1vZGFsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsITApLHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLW1vZGFsIiksdGhpcy5fZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoInJvbGUiKSx0aGlzLl9pc1RyYW5zaXRpb25pbmc9ITEsdGhpcy5fc2hvd0JhY2tkcm9wKChmdW5jdGlvbigpe2RvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgibW9kYWwtb3BlbiIpLHQuX3Jlc2V0QWRqdXN0bWVudHMoKSx0Ll9yZXNldFNjcm9sbGJhcigpLFcudHJpZ2dlcih0Ll9lbGVtZW50LCJoaWRkZW4uYnMubW9kYWwiKX0pKX0sbi5fcmVtb3ZlQmFja2Ryb3A9ZnVuY3Rpb24oKXt0aGlzLl9iYWNrZHJvcC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX2JhY2tkcm9wKSx0aGlzLl9iYWNrZHJvcD1udWxsfSxuLl9zaG93QmFja2Ryb3A9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJmYWRlIik/ImZhZGUiOiIiO2lmKHRoaXMuX2lzU2hvd24mJnRoaXMuX2NvbmZpZy5iYWNrZHJvcCl7aWYodGhpcy5fYmFja2Ryb3A9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fYmFja2Ryb3AuY2xhc3NOYW1lPSJtb2RhbC1iYWNrZHJvcCIsbiYmdGhpcy5fYmFja2Ryb3AuY2xhc3NMaXN0LmFkZChuKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX2JhY2tkcm9wKSxXLm9uKHRoaXMuX2VsZW1lbnQsImNsaWNrLmRpc21pc3MuYnMubW9kYWwiLChmdW5jdGlvbih0KXtlLl9pZ25vcmVCYWNrZHJvcENsaWNrP2UuX2lnbm9yZUJhY2tkcm9wQ2xpY2s9ITE6dC50YXJnZXQ9PT10LmN1cnJlbnRUYXJnZXQmJmUuX3RyaWdnZXJCYWNrZHJvcFRyYW5zaXRpb24oKX0pKSxuJiZ5KHRoaXMuX2JhY2tkcm9wKSx0aGlzLl9iYWNrZHJvcC5jbGFzc0xpc3QuYWRkKCJzaG93IiksIW4pcmV0dXJuIHZvaWQgdCgpO3ZhciBpPWgodGhpcy5fYmFja2Ryb3ApO1cub25lKHRoaXMuX2JhY2tkcm9wLCJ0cmFuc2l0aW9uZW5kIix0KSxnKHRoaXMuX2JhY2tkcm9wLGkpfWVsc2UgaWYoIXRoaXMuX2lzU2hvd24mJnRoaXMuX2JhY2tkcm9wKXt0aGlzLl9iYWNrZHJvcC5jbGFzc0xpc3QucmVtb3ZlKCJzaG93Iik7dmFyIG89ZnVuY3Rpb24oKXtlLl9yZW1vdmVCYWNrZHJvcCgpLHQoKX07aWYodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImZhZGUiKSl7dmFyIHI9aCh0aGlzLl9iYWNrZHJvcCk7Vy5vbmUodGhpcy5fYmFja2Ryb3AsInRyYW5zaXRpb25lbmQiLG8pLGcodGhpcy5fYmFja2Ryb3Ascil9ZWxzZSBvKCl9ZWxzZSB0KCl9LG4uX3RyaWdnZXJCYWNrZHJvcFRyYW5zaXRpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKCJzdGF0aWMiPT09dGhpcy5fY29uZmlnLmJhY2tkcm9wKXtpZihXLnRyaWdnZXIodGhpcy5fZWxlbWVudCwiaGlkZVByZXZlbnRlZC5icy5tb2RhbCIpLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgibW9kYWwtc3RhdGljIik7dmFyIGU9aCh0aGlzLl9lbGVtZW50KTtXLm9uZSh0aGlzLl9lbGVtZW50LCJ0cmFuc2l0aW9uZW5kIiwoZnVuY3Rpb24oKXt0Ll9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoIm1vZGFsLXN0YXRpYyIpfSkpLGcodGhpcy5fZWxlbWVudCxlKSx0aGlzLl9lbGVtZW50LmZvY3VzKCl9ZWxzZSB0aGlzLmhpZGUoKX0sbi5fYWRqdXN0RGlhbG9nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZWxlbWVudC5zY3JvbGxIZWlnaHQ+ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDshdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcmJnQmJih0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdMZWZ0PXRoaXMuX3Njcm9sbGJhcldpZHRoKyJweCIpLHRoaXMuX2lzQm9keU92ZXJmbG93aW5nJiYhdCYmKHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0PXRoaXMuX3Njcm9sbGJhcldpZHRoKyJweCIpfSxuLl9yZXNldEFkanVzdG1lbnRzPWZ1bmN0aW9uKCl7dGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nTGVmdD0iIix0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdSaWdodD0iIn0sbi5fY2hlY2tTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX2lzQm9keU92ZXJmbG93aW5nPU1hdGgucm91bmQodC5sZWZ0K3QucmlnaHQpPHdpbmRvdy5pbm5lcldpZHRoLHRoaXMuX3Njcm9sbGJhcldpZHRoPXRoaXMuX2dldFNjcm9sbGJhcldpZHRoKCl9LG4uX3NldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYodGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcpe2V0LmZpbmQoIi5maXhlZC10b3AsIC5maXhlZC1ib3R0b20sIC5pcy1maXhlZCwgLnN0aWNreS10b3AiKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1lLnN0eWxlLnBhZGRpbmdSaWdodCxpPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUpWyJwYWRkaW5nLXJpZ2h0Il07dHQuc2V0RGF0YUF0dHJpYnV0ZShlLCJwYWRkaW5nLXJpZ2h0IixuKSxlLnN0eWxlLnBhZGRpbmdSaWdodD1wYXJzZUZsb2F0KGkpK3QuX3Njcm9sbGJhcldpZHRoKyJweCJ9KSksZXQuZmluZCgiLnN0aWNreS10b3AiKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1lLnN0eWxlLm1hcmdpblJpZ2h0LGk9d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSlbIm1hcmdpbi1yaWdodCJdO3R0LnNldERhdGFBdHRyaWJ1dGUoZSwibWFyZ2luLXJpZ2h0IixuKSxlLnN0eWxlLm1hcmdpblJpZ2h0PXBhcnNlRmxvYXQoaSktdC5fc2Nyb2xsYmFyV2lkdGgrInB4In0pKTt2YXIgZT1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpWyJwYWRkaW5nLXJpZ2h0Il07dHQuc2V0RGF0YUF0dHJpYnV0ZShkb2N1bWVudC5ib2R5LCJwYWRkaW5nLXJpZ2h0IixlKSxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD1wYXJzZUZsb2F0KG4pK3RoaXMuX3Njcm9sbGJhcldpZHRoKyJweCJ9ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCJtb2RhbC1vcGVuIil9LG4uX3Jlc2V0U2Nyb2xsYmFyPWZ1bmN0aW9uKCl7ZXQuZmluZCgiLmZpeGVkLXRvcCwgLmZpeGVkLWJvdHRvbSwgLmlzLWZpeGVkLCAuc3RpY2t5LXRvcCIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXR0LmdldERhdGFBdHRyaWJ1dGUodCwicGFkZGluZy1yaWdodCIpO3ZvaWQgMCE9PWUmJih0dC5yZW1vdmVEYXRhQXR0cmlidXRlKHQsInBhZGRpbmctcmlnaHQiKSx0LnN0eWxlLnBhZGRpbmdSaWdodD1lKX0pKSxldC5maW5kKCIuc3RpY2t5LXRvcCIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXR0LmdldERhdGFBdHRyaWJ1dGUodCwibWFyZ2luLXJpZ2h0Iik7dm9pZCAwIT09ZSYmKHR0LnJlbW92ZURhdGFBdHRyaWJ1dGUodCwibWFyZ2luLXJpZ2h0IiksdC5zdHlsZS5tYXJnaW5SaWdodD1lKX0pKTt2YXIgdD10dC5nZXREYXRhQXR0cmlidXRlKGRvY3VtZW50LmJvZHksInBhZGRpbmctcmlnaHQiKTt2b2lkIDA9PT10P2RvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0PSIiOih0dC5yZW1vdmVEYXRhQXR0cmlidXRlKGRvY3VtZW50LmJvZHksInBhZGRpbmctcmlnaHQiKSxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD10KX0sbi5fZ2V0U2Nyb2xsYmFyV2lkdGg9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTmFtZT0ibW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIGU9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aC10LmNsaWVudFdpZHRoO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLGV9LHQualF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUsbil7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt2YXIgaT14KHRoaXMsImJzLm1vZGFsIikscj1vKG8obyh7fSxrZSksdHQuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcykpLCJvYmplY3QiPT10eXBlb2YgZSYmZT9lOnt9KTtpZihpfHwoaT1uZXcgdCh0aGlzLHIpKSwic3RyaW5nIj09dHlwZW9mIGUpe2lmKHZvaWQgMD09PWlbZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2UrJyInKTtpW2VdKG4pfWVsc2Ugci5zaG93JiZpLnNob3cobil9KSl9LHQuZ2V0SW5zdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIHgodCwiYnMubW9kYWwiKX0sZSh0LG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI1LjAuMC1hbHBoYTEifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGtlfX1dKSx0fSgpO1cub24oZG9jdW1lbnQsImNsaWNrLmJzLm1vZGFsLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJtb2RhbCJdJywoZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPWYodGhpcyk7IkEiIT09dGhpcy50YWdOYW1lJiYiQVJFQSIhPT10aGlzLnRhZ05hbWV8fHQucHJldmVudERlZmF1bHQoKSxXLm9uZShuLCJzaG93LmJzLm1vZGFsIiwoZnVuY3Rpb24odCl7dC5kZWZhdWx0UHJldmVudGVkfHxXLm9uZShuLCJoaWRkZW4uYnMubW9kYWwiLChmdW5jdGlvbigpe2IoZSkmJmUuZm9jdXMoKX0pKX0pKTt2YXIgaT14KG4sImJzLm1vZGFsIik7aWYoIWkpe3ZhciByPW8obyh7fSx0dC5nZXREYXRhQXR0cmlidXRlcyhuKSksdHQuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcykpO2k9bmV3IE9lKG4scil9aS5zaG93KHRoaXMpfSkpO3ZhciBOZT13KCk7aWYoTmUpe3ZhciBEZT1OZS5mbi5tb2RhbDtOZS5mbi5tb2RhbD1PZS5qUXVlcnlJbnRlcmZhY2UsTmUuZm4ubW9kYWwuQ29uc3RydWN0b3I9T2UsTmUuZm4ubW9kYWwubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBOZS5mbi5tb2RhbD1EZSxPZS5qUXVlcnlJbnRlcmZhY2V9fXZhciBqZT1bImJhY2tncm91bmQiLCJjaXRlIiwiaHJlZiIsIml0ZW10eXBlIiwibG9uZ2Rlc2MiLCJwb3N0ZXIiLCJzcmMiLCJ4bGluazpocmVmIl0sSWU9L14oPzooPzpodHRwcz98bWFpbHRvfGZ0cHx0ZWx8ZmlsZSk6fFteIyYvOj9dKig/OlsjLz9dfCQpKS9naSxNZT0vXmRhdGE6KD86aW1hZ2VcLyg/OmJtcHxnaWZ8anBlZ3xqcGd8cG5nfHRpZmZ8d2VicCl8dmlkZW9cLyg/Om1wZWd8bXA0fG9nZ3x3ZWJtKXxhdWRpb1wvKD86bXAzfG9nYXxvZ2d8b3B1cykpO2Jhc2U2NCxbXGQrL2Etel0rPSokL2ksUGU9eyIqIjpbImNsYXNzIiwiZGlyIiwiaWQiLCJsYW5nIiwicm9sZSIsL15hcmlhLVtcdy1dKiQvaV0sYTpbInRhcmdldCIsImhyZWYiLCJ0aXRsZSIsInJlbCJdLGFyZWE6W10sYjpbXSxicjpbXSxjb2w6W10sY29kZTpbXSxkaXY6W10sZW06W10saHI6W10saDE6W10saDI6W10saDM6W10saDQ6W10saDU6W10saDY6W10saTpbXSxpbWc6WyJzcmMiLCJzcmNzZXQiLCJhbHQiLCJ0aXRsZSIsIndpZHRoIiwiaGVpZ2h0Il0sbGk6W10sb2w6W10scDpbXSxwcmU6W10sczpbXSxzbWFsbDpbXSxzcGFuOltdLHN1YjpbXSxzdXA6W10sc3Ryb25nOltdLHU6W10sdWw6W119O2Z1bmN0aW9uIEhlKHQsZSxuKXt2YXIgaTtpZighdC5sZW5ndGgpcmV0dXJuIHQ7aWYobiYmImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIG4odCk7Zm9yKHZhciBvPShuZXcgd2luZG93LkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKHQsInRleHQvaHRtbCIpLHI9T2JqZWN0LmtleXMoZSkscz0oaT1bXSkuY29uY2F0LmFwcGx5KGksby5ib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSksYT1mdW5jdGlvbih0LG4pe3ZhciBpLG89c1t0XSxhPW8ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZigtMT09PXIuaW5kZXhPZihhKSlyZXR1cm4gby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pLCJjb250aW51ZSI7dmFyIGw9KGk9W10pLmNvbmNhdC5hcHBseShpLG8uYXR0cmlidXRlcyksYz1bXS5jb25jYXQoZVsiKiJdfHxbXSxlW2FdfHxbXSk7bC5mb3JFYWNoKChmdW5jdGlvbih0KXsoZnVuY3Rpb24odCxlKXt2YXIgbj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoLTEhPT1lLmluZGV4T2YobikpcmV0dXJuLTE9PT1qZS5pbmRleE9mKG4pfHxCb29sZWFuKHQubm9kZVZhbHVlLm1hdGNoKEllKXx8dC5ub2RlVmFsdWUubWF0Y2goTWUpKTtmb3IodmFyIGk9ZS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgUmVnRXhwfSkpLG89MCxyPWkubGVuZ3RoO288cjtvKyspaWYobi5tYXRjaChpW29dKSlyZXR1cm4hMDtyZXR1cm4hMX0pKHQsYyl8fG8ucmVtb3ZlQXR0cmlidXRlKHQubm9kZU5hbWUpfSkpfSxsPTAsYz1zLmxlbmd0aDtsPGM7bCsrKWEobCk7cmV0dXJuIG8uYm9keS5pbm5lckhUTUx9dmFyIHFlPSJ0b29sdGlwIixCZT1uZXcgUmVnRXhwKCIoXnxcXHMpYnMtdG9vbHRpcFxcUysiLCJnIiksemU9WyJzYW5pdGl6ZSIsIndoaXRlTGlzdCIsInNhbml0aXplRm4iXSxSZT17YW5pbWF0aW9uOiJib29sZWFuIix0ZW1wbGF0ZToic3RyaW5nIix0aXRsZToiKHN0cmluZ3xlbGVtZW50fGZ1bmN0aW9uKSIsdHJpZ2dlcjoic3RyaW5nIixkZWxheToiKG51bWJlcnxvYmplY3QpIixodG1sOiJib29sZWFuIixzZWxlY3RvcjoiKHN0cmluZ3xib29sZWFuKSIscGxhY2VtZW50OiIoc3RyaW5nfGZ1bmN0aW9uKSIsb2Zmc2V0OiIobnVtYmVyfHN0cmluZ3xmdW5jdGlvbikiLGNvbnRhaW5lcjoiKHN0cmluZ3xlbGVtZW50fGJvb2xlYW4pIixmYWxsYmFja1BsYWNlbWVudDoiKHN0cmluZ3xhcnJheSkiLGJvdW5kYXJ5OiIoc3RyaW5nfGVsZW1lbnQpIixzYW5pdGl6ZToiYm9vbGVhbiIsc2FuaXRpemVGbjoiKG51bGx8ZnVuY3Rpb24pIix3aGl0ZUxpc3Q6Im9iamVjdCIscG9wcGVyQ29uZmlnOiIobnVsbHxvYmplY3QpIn0sRmU9e0FVVE86ImF1dG8iLFRPUDoidG9wIixSSUdIVDoicmlnaHQiLEJPVFRPTToiYm90dG9tIixMRUZUOiJsZWZ0In0sVWU9e2FuaW1hdGlvbjohMCx0ZW1wbGF0ZTonPGRpdiBjbGFzcz0idG9vbHRpcCIgcm9sZT0idG9vbHRpcCI+PGRpdiBjbGFzcz0idG9vbHRpcC1hcnJvdyI+PC9kaXY+PGRpdiBjbGFzcz0idG9vbHRpcC1pbm5lciI+PC9kaXY+PC9kaXY+Jyx0cmlnZ2VyOiJob3ZlciBmb2N1cyIsdGl0bGU6IiIsZGVsYXk6MCxodG1sOiExLHNlbGVjdG9yOiExLHBsYWNlbWVudDoidG9wIixvZmZzZXQ6MCxjb250YWluZXI6ITEsZmFsbGJhY2tQbGFjZW1lbnQ6ImZsaXAiLGJvdW5kYXJ5OiJzY3JvbGxQYXJlbnQiLHNhbml0aXplOiEwLHNhbml0aXplRm46bnVsbCx3aGl0ZUxpc3Q6UGUscG9wcGVyQ29uZmlnOm51bGx9LFdlPXtISURFOiJoaWRlLmJzLnRvb2x0aXAiLEhJRERFTjoiaGlkZGVuLmJzLnRvb2x0aXAiLFNIT1c6InNob3cuYnMudG9vbHRpcCIsU0hPV046InNob3duLmJzLnRvb2x0aXAiLElOU0VSVEVEOiJpbnNlcnRlZC5icy50b29sdGlwIixDTElDSzoiY2xpY2suYnMudG9vbHRpcCIsRk9DVVNJTjoiZm9jdXNpbi5icy50b29sdGlwIixGT0NVU09VVDoiZm9jdXNvdXQuYnMudG9vbHRpcCIsTU9VU0VFTlRFUjoibW91c2VlbnRlci5icy50b29sdGlwIixNT1VTRUxFQVZFOiJtb3VzZWxlYXZlLmJzLnRvb2x0aXAifSxWZT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlKXtpZih2b2lkIDA9PT15ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJCb290c3RyYXAncyB0b29sdGlwcyByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnKSIpO3RoaXMuX2lzRW5hYmxlZD0hMCx0aGlzLl90aW1lb3V0PTAsdGhpcy5faG92ZXJTdGF0ZT0iIix0aGlzLl9hY3RpdmVUcmlnZ2VyPXt9LHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuZWxlbWVudD10LHRoaXMuY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLnRpcD1udWxsLHRoaXMuX3NldExpc3RlbmVycygpLEModCx0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZLHRoaXMpfXZhciBuPXQucHJvdG90eXBlO3JldHVybiBuLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuX2lzRW5hYmxlZD0hMH0sbi5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5faXNFbmFibGVkPSExfSxuLnRvZ2dsZUVuYWJsZWQ9ZnVuY3Rpb24oKXt0aGlzLl9pc0VuYWJsZWQ9IXRoaXMuX2lzRW5hYmxlZH0sbi50b2dnbGU9ZnVuY3Rpb24odCl7aWYodGhpcy5faXNFbmFibGVkKWlmKHQpe3ZhciBlPXRoaXMuY29uc3RydWN0b3IuREFUQV9LRVksbj14KHQudGFyZ2V0LGUpO258fChuPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHQudGFyZ2V0LHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpLEModC50YXJnZXQsZSxuKSksbi5fYWN0aXZlVHJpZ2dlci5jbGljaz0hbi5fYWN0aXZlVHJpZ2dlci5jbGljayxuLl9pc1dpdGhBY3RpdmVUcmlnZ2VyKCk/bi5fZW50ZXIobnVsbCxuKTpuLl9sZWF2ZShudWxsLG4pfWVsc2V7aWYodGhpcy5nZXRUaXBFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKCJzaG93IikpcmV0dXJuIHZvaWQgdGhpcy5fbGVhdmUobnVsbCx0aGlzKTt0aGlzLl9lbnRlcihudWxsLHRoaXMpfX0sbi5kaXNwb3NlPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLFQodGhpcy5lbGVtZW50LHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVkpLFcub2ZmKHRoaXMuZWxlbWVudCx0aGlzLmNvbnN0cnVjdG9yLkVWRU5UX0tFWSksVy5vZmYodGhpcy5lbGVtZW50LmNsb3Nlc3QoIi5tb2RhbCIpLCJoaWRlLmJzLm1vZGFsIix0aGlzLl9oaWRlTW9kYWxIYW5kbGVyKSx0aGlzLnRpcCYmdGhpcy50aXAucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnRpcCksdGhpcy5faXNFbmFibGVkPW51bGwsdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX2hvdmVyU3RhdGU9bnVsbCx0aGlzLl9hY3RpdmVUcmlnZ2VyPW51bGwsdGhpcy5fcG9wcGVyJiZ0aGlzLl9wb3BwZXIuZGVzdHJveSgpLHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuZWxlbWVudD1udWxsLHRoaXMuY29uZmlnPW51bGwsdGhpcy50aXA9bnVsbH0sbi5zaG93PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZigibm9uZSI9PT10aGlzLmVsZW1lbnQuc3R5bGUuZGlzcGxheSl0aHJvdyBuZXcgRXJyb3IoIlBsZWFzZSB1c2Ugc2hvdyBvbiB2aXNpYmxlIGVsZW1lbnRzIik7aWYodGhpcy5pc1dpdGhDb250ZW50KCkmJnRoaXMuX2lzRW5hYmxlZCl7dmFyIGU9Vy50cmlnZ2VyKHRoaXMuZWxlbWVudCx0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LlNIT1cpLG49ZnVuY3Rpb24gdChlKXtpZighZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmF0dGFjaFNoYWRvdylyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS5nZXRSb290Tm9kZSl7dmFyIG49ZS5nZXRSb290Tm9kZSgpO3JldHVybiBuIGluc3RhbmNlb2YgU2hhZG93Um9vdD9uOm51bGx9cmV0dXJuIGUgaW5zdGFuY2VvZiBTaGFkb3dSb290P2U6ZS5wYXJlbnROb2RlP3QoZS5wYXJlbnROb2RlKTpudWxsfSh0aGlzLmVsZW1lbnQpLGk9bnVsbD09PW4/dGhpcy5lbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNvbnRhaW5zKHRoaXMuZWxlbWVudCk6bi5jb250YWlucyh0aGlzLmVsZW1lbnQpO2lmKGUuZGVmYXVsdFByZXZlbnRlZHx8IWkpcmV0dXJuO3ZhciBvPXRoaXMuZ2V0VGlwRWxlbWVudCgpLHI9Yyh0aGlzLmNvbnN0cnVjdG9yLk5BTUUpO28uc2V0QXR0cmlidXRlKCJpZCIsciksdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIsciksdGhpcy5zZXRDb250ZW50KCksdGhpcy5jb25maWcuYW5pbWF0aW9uJiZvLmNsYXNzTGlzdC5hZGQoImZhZGUiKTt2YXIgcz0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcucGxhY2VtZW50P3RoaXMuY29uZmlnLnBsYWNlbWVudC5jYWxsKHRoaXMsbyx0aGlzLmVsZW1lbnQpOnRoaXMuY29uZmlnLnBsYWNlbWVudCxhPXRoaXMuX2dldEF0dGFjaG1lbnQocyk7dGhpcy5fYWRkQXR0YWNobWVudENsYXNzKGEpO3ZhciBsLHU9dGhpcy5fZ2V0Q29udGFpbmVyKCk7aWYoQyhvLHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVksdGhpcyksdGhpcy5lbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNvbnRhaW5zKHRoaXMudGlwKXx8dS5hcHBlbmRDaGlsZChvKSxXLnRyaWdnZXIodGhpcy5lbGVtZW50LHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSU5TRVJURUQpLHRoaXMuX3BvcHBlcj1uZXcgeWUodGhpcy5lbGVtZW50LG8sdGhpcy5fZ2V0UG9wcGVyQ29uZmlnKGEpKSxvLmNsYXNzTGlzdC5hZGQoInNob3ciKSwib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkobD1bXSkuY29uY2F0LmFwcGx5KGwsZG9jdW1lbnQuYm9keS5jaGlsZHJlbikuZm9yRWFjaCgoZnVuY3Rpb24odCl7Vy5vbih0LCJtb3VzZW92ZXIiLChmdW5jdGlvbigpe30pKX0pKTt2YXIgZD1mdW5jdGlvbigpe3QuY29uZmlnLmFuaW1hdGlvbiYmdC5fZml4VHJhbnNpdGlvbigpO3ZhciBlPXQuX2hvdmVyU3RhdGU7dC5faG92ZXJTdGF0ZT1udWxsLFcudHJpZ2dlcih0LmVsZW1lbnQsdC5jb25zdHJ1Y3Rvci5FdmVudC5TSE9XTiksIm91dCI9PT1lJiZ0Ll9sZWF2ZShudWxsLHQpfTtpZih0aGlzLnRpcC5jbGFzc0xpc3QuY29udGFpbnMoImZhZGUiKSl7dmFyIGY9aCh0aGlzLnRpcCk7Vy5vbmUodGhpcy50aXAsInRyYW5zaXRpb25lbmQiLGQpLGcodGhpcy50aXAsZil9ZWxzZSBkKCl9fSxuLmhpZGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5nZXRUaXBFbGVtZW50KCksbj1mdW5jdGlvbigpeyJzaG93IiE9PXQuX2hvdmVyU3RhdGUmJmUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpLHQuX2NsZWFuVGlwQ2xhc3MoKSx0LmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5IiksVy50cmlnZ2VyKHQuZWxlbWVudCx0LmNvbnN0cnVjdG9yLkV2ZW50LkhJRERFTiksdC5fcG9wcGVyLmRlc3Ryb3koKX07aWYoIVcudHJpZ2dlcih0aGlzLmVsZW1lbnQsdGhpcy5jb25zdHJ1Y3Rvci5FdmVudC5ISURFKS5kZWZhdWx0UHJldmVudGVkKXt2YXIgaTtpZihlLmNsYXNzTGlzdC5yZW1vdmUoInNob3ciKSwib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkoaT1bXSkuY29uY2F0LmFwcGx5KGksZG9jdW1lbnQuYm9keS5jaGlsZHJlbikuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIFcub2ZmKHQsIm1vdXNlb3ZlciIsXyl9KSk7aWYodGhpcy5fYWN0aXZlVHJpZ2dlci5jbGljaz0hMSx0aGlzLl9hY3RpdmVUcmlnZ2VyLmZvY3VzPSExLHRoaXMuX2FjdGl2ZVRyaWdnZXIuaG92ZXI9ITEsdGhpcy50aXAuY2xhc3NMaXN0LmNvbnRhaW5zKCJmYWRlIikpe3ZhciBvPWgoZSk7Vy5vbmUoZSwidHJhbnNpdGlvbmVuZCIsbiksZyhlLG8pfWVsc2UgbigpO3RoaXMuX2hvdmVyU3RhdGU9IiJ9fSxuLnVwZGF0ZT1mdW5jdGlvbigpe251bGwhPT10aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5zY2hlZHVsZVVwZGF0ZSgpfSxuLmlzV2l0aENvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gQm9vbGVhbih0aGlzLmdldFRpdGxlKCkpfSxuLmdldFRpcEVsZW1lbnQ9ZnVuY3Rpb24oKXtpZih0aGlzLnRpcClyZXR1cm4gdGhpcy50aXA7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuaW5uZXJIVE1MPXRoaXMuY29uZmlnLnRlbXBsYXRlLHRoaXMudGlwPXQuY2hpbGRyZW5bMF0sdGhpcy50aXB9LG4uc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2V0VGlwRWxlbWVudCgpO3RoaXMuc2V0RWxlbWVudENvbnRlbnQoZXQuZmluZE9uZSgiLnRvb2x0aXAtaW5uZXIiLHQpLHRoaXMuZ2V0VGl0bGUoKSksdC5jbGFzc0xpc3QucmVtb3ZlKCJmYWRlIiwic2hvdyIpfSxuLnNldEVsZW1lbnRDb250ZW50PWZ1bmN0aW9uKHQsZSl7aWYobnVsbCE9PXQpcmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZtKGUpPyhlLmpxdWVyeSYmKGU9ZVswXSksdm9pZCh0aGlzLmNvbmZpZy5odG1sP2UucGFyZW50Tm9kZSE9PXQmJih0LmlubmVySFRNTD0iIix0LmFwcGVuZENoaWxkKGUpKTp0LnRleHRDb250ZW50PWUudGV4dENvbnRlbnQpKTp2b2lkKHRoaXMuY29uZmlnLmh0bWw/KHRoaXMuY29uZmlnLnNhbml0aXplJiYoZT1IZShlLHRoaXMuY29uZmlnLndoaXRlTGlzdCx0aGlzLmNvbmZpZy5zYW5pdGl6ZUZuKSksdC5pbm5lckhUTUw9ZSk6dC50ZXh0Q29udGVudD1lKX0sbi5nZXRUaXRsZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiKTtyZXR1cm4gdHx8KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuY29uZmlnLnRpdGxlP3RoaXMuY29uZmlnLnRpdGxlLmNhbGwodGhpcy5lbGVtZW50KTp0aGlzLmNvbmZpZy50aXRsZSksdH0sbi5fZ2V0UG9wcGVyQ29uZmlnPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7cmV0dXJuIG8obyh7fSx7cGxhY2VtZW50OnQsbW9kaWZpZXJzOntvZmZzZXQ6dGhpcy5fZ2V0T2Zmc2V0KCksZmxpcDp7YmVoYXZpb3I6dGhpcy5jb25maWcuZmFsbGJhY2tQbGFjZW1lbnR9LGFycm93OntlbGVtZW50OiIuIit0aGlzLmNvbnN0cnVjdG9yLk5BTUUrIi1hcnJvdyJ9LHByZXZlbnRPdmVyZmxvdzp7Ym91bmRhcmllc0VsZW1lbnQ6dGhpcy5jb25maWcuYm91bmRhcnl9fSxvbkNyZWF0ZTpmdW5jdGlvbih0KXt0Lm9yaWdpbmFsUGxhY2VtZW50IT09dC5wbGFjZW1lbnQmJmUuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZSh0KX0sb25VcGRhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIGUuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZSh0KX19KSx0aGlzLmNvbmZpZy5wb3BwZXJDb25maWcpfSxuLl9hZGRBdHRhY2htZW50Q2xhc3M9ZnVuY3Rpb24odCl7dGhpcy5nZXRUaXBFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgiYnMtdG9vbHRpcC0iK3QpfSxuLl9nZXRPZmZzZXQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9e307cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuY29uZmlnLm9mZnNldD9lLmZuPWZ1bmN0aW9uKGUpe3JldHVybiBlLm9mZnNldHM9byhvKHt9LGUub2Zmc2V0cyksdC5jb25maWcub2Zmc2V0KGUub2Zmc2V0cyx0LmVsZW1lbnQpfHx7fSksZX06ZS5vZmZzZXQ9dGhpcy5jb25maWcub2Zmc2V0LGV9LG4uX2dldENvbnRhaW5lcj1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5jb25maWcuY29udGFpbmVyP2RvY3VtZW50LmJvZHk6bSh0aGlzLmNvbmZpZy5jb250YWluZXIpP3RoaXMuY29uZmlnLmNvbnRhaW5lcjpldC5maW5kT25lKHRoaXMuY29uZmlnLmNvbnRhaW5lcil9LG4uX2dldEF0dGFjaG1lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIEZlW3QudG9VcHBlckNhc2UoKV19LG4uX3NldExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5jb25maWcudHJpZ2dlci5zcGxpdCgiICIpLmZvckVhY2goKGZ1bmN0aW9uKGUpe2lmKCJjbGljayI9PT1lKVcub24odC5lbGVtZW50LHQuY29uc3RydWN0b3IuRXZlbnQuQ0xJQ0ssdC5jb25maWcuc2VsZWN0b3IsKGZ1bmN0aW9uKGUpe3JldHVybiB0LnRvZ2dsZShlKX0pKTtlbHNlIGlmKCJtYW51YWwiIT09ZSl7dmFyIG49ImhvdmVyIj09PWU/dC5jb25zdHJ1Y3Rvci5FdmVudC5NT1VTRUVOVEVSOnQuY29uc3RydWN0b3IuRXZlbnQuRk9DVVNJTixpPSJob3ZlciI9PT1lP3QuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VMRUFWRTp0LmNvbnN0cnVjdG9yLkV2ZW50LkZPQ1VTT1VUO1cub24odC5lbGVtZW50LG4sdC5jb25maWcuc2VsZWN0b3IsKGZ1bmN0aW9uKGUpe3JldHVybiB0Ll9lbnRlcihlKX0pKSxXLm9uKHQuZWxlbWVudCxpLHQuY29uZmlnLnNlbGVjdG9yLChmdW5jdGlvbihlKXtyZXR1cm4gdC5fbGVhdmUoZSl9KSl9fSkpLHRoaXMuX2hpZGVNb2RhbEhhbmRsZXI9ZnVuY3Rpb24oKXt0LmVsZW1lbnQmJnQuaGlkZSgpfSxXLm9uKHRoaXMuZWxlbWVudC5jbG9zZXN0KCIubW9kYWwiKSwiaGlkZS5icy5tb2RhbCIsdGhpcy5faGlkZU1vZGFsSGFuZGxlciksdGhpcy5jb25maWcuc2VsZWN0b3I/dGhpcy5jb25maWc9byhvKHt9LHRoaXMuY29uZmlnKSx7fSx7dHJpZ2dlcjoibWFudWFsIixzZWxlY3RvcjoiIn0pOnRoaXMuX2ZpeFRpdGxlKCl9LG4uX2ZpeFRpdGxlPWZ1bmN0aW9uKCl7dmFyIHQ9dHlwZW9mIHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiKTsodGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgidGl0bGUiKXx8InN0cmluZyIhPT10KSYmKHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiLHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoInRpdGxlIil8fCIiKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIiIpKX0sbi5fZW50ZXI9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZOyhlPWV8fHgodC50YXJnZXQsbikpfHwoZT1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LnRhcmdldCx0aGlzLl9nZXREZWxlZ2F0ZUNvbmZpZygpKSxDKHQudGFyZ2V0LG4sZSkpLHQmJihlLl9hY3RpdmVUcmlnZ2VyWyJmb2N1c2luIj09PXQudHlwZT8iZm9jdXMiOiJob3ZlciJdPSEwKSxlLmdldFRpcEVsZW1lbnQoKS5jbGFzc0xpc3QuY29udGFpbnMoInNob3ciKXx8InNob3ciPT09ZS5faG92ZXJTdGF0ZT9lLl9ob3ZlclN0YXRlPSJzaG93IjooY2xlYXJUaW1lb3V0KGUuX3RpbWVvdXQpLGUuX2hvdmVyU3RhdGU9InNob3ciLGUuY29uZmlnLmRlbGF5JiZlLmNvbmZpZy5kZWxheS5zaG93P2UuX3RpbWVvdXQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXsic2hvdyI9PT1lLl9ob3ZlclN0YXRlJiZlLnNob3coKX0pLGUuY29uZmlnLmRlbGF5LnNob3cpOmUuc2hvdygpKX0sbi5fbGVhdmU9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZOyhlPWV8fHgodC50YXJnZXQsbikpfHwoZT1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LnRhcmdldCx0aGlzLl9nZXREZWxlZ2F0ZUNvbmZpZygpKSxDKHQudGFyZ2V0LG4sZSkpLHQmJihlLl9hY3RpdmVUcmlnZ2VyWyJmb2N1c291dCI9PT10LnR5cGU/ImZvY3VzIjoiaG92ZXIiXT0hMSksZS5faXNXaXRoQWN0aXZlVHJpZ2dlcigpfHwoY2xlYXJUaW1lb3V0KGUuX3RpbWVvdXQpLGUuX2hvdmVyU3RhdGU9Im91dCIsZS5jb25maWcuZGVsYXkmJmUuY29uZmlnLmRlbGF5LmhpZGU/ZS5fdGltZW91dD1zZXRUaW1lb3V0KChmdW5jdGlvbigpeyJvdXQiPT09ZS5faG92ZXJTdGF0ZSYmZS5oaWRlKCl9KSxlLmNvbmZpZy5kZWxheS5oaWRlKTplLmhpZGUoKSl9LG4uX2lzV2l0aEFjdGl2ZVRyaWdnZXI9ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fYWN0aXZlVHJpZ2dlcilpZih0aGlzLl9hY3RpdmVUcmlnZ2VyW3RdKXJldHVybiEwO3JldHVybiExfSxuLl9nZXRDb25maWc9ZnVuY3Rpb24odCl7dmFyIGU9dHQuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcy5lbGVtZW50KTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7LTEhPT16ZS5pbmRleE9mKHQpJiZkZWxldGUgZVt0XX0pKSx0JiYib2JqZWN0Ij09dHlwZW9mIHQuY29udGFpbmVyJiZ0LmNvbnRhaW5lci5qcXVlcnkmJih0LmNvbnRhaW5lcj10LmNvbnRhaW5lclswXSksIm51bWJlciI9PXR5cGVvZih0PW8obyhvKHt9LHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCksZSksIm9iamVjdCI9PXR5cGVvZiB0JiZ0P3Q6e30pKS5kZWxheSYmKHQuZGVsYXk9e3Nob3c6dC5kZWxheSxoaWRlOnQuZGVsYXl9KSwibnVtYmVyIj09dHlwZW9mIHQudGl0bGUmJih0LnRpdGxlPXQudGl0bGUudG9TdHJpbmcoKSksIm51bWJlciI9PXR5cGVvZiB0LmNvbnRlbnQmJih0LmNvbnRlbnQ9dC5jb250ZW50LnRvU3RyaW5nKCkpLHYocWUsdCx0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRUeXBlKSx0LnNhbml0aXplJiYodC50ZW1wbGF0ZT1IZSh0LnRlbXBsYXRlLHQud2hpdGVMaXN0LHQuc2FuaXRpemVGbikpLHR9LG4uX2dldERlbGVnYXRlQ29uZmlnPWZ1bmN0aW9uKCl7dmFyIHQ9e307aWYodGhpcy5jb25maWcpZm9yKHZhciBlIGluIHRoaXMuY29uZmlnKXRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFtlXSE9PXRoaXMuY29uZmlnW2VdJiYodFtlXT10aGlzLmNvbmZpZ1tlXSk7cmV0dXJuIHR9LG4uX2NsZWFuVGlwQ2xhc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldFRpcEVsZW1lbnQoKSxlPXQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpLm1hdGNoKEJlKTtudWxsIT09ZSYmZS5sZW5ndGg+MCYmZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRyaW0oKX0pKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdC5jbGFzc0xpc3QucmVtb3ZlKGUpfSkpfSxuLl9oYW5kbGVQb3BwZXJQbGFjZW1lbnRDaGFuZ2U9ZnVuY3Rpb24odCl7dmFyIGU9dC5pbnN0YW5jZTt0aGlzLnRpcD1lLnBvcHBlcix0aGlzLl9jbGVhblRpcENsYXNzKCksdGhpcy5fYWRkQXR0YWNobWVudENsYXNzKHRoaXMuX2dldEF0dGFjaG1lbnQodC5wbGFjZW1lbnQpKX0sbi5fZml4VHJhbnNpdGlvbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2V0VGlwRWxlbWVudCgpLGU9dGhpcy5jb25maWcuYW5pbWF0aW9uO251bGw9PT10LmdldEF0dHJpYnV0ZSgieC1wbGFjZW1lbnQiKSYmKHQuY2xhc3NMaXN0LnJlbW92ZSgiZmFkZSIpLHRoaXMuY29uZmlnLmFuaW1hdGlvbj0hMSx0aGlzLmhpZGUoKSx0aGlzLnNob3coKSx0aGlzLmNvbmZpZy5hbmltYXRpb249ZSl9LHQualF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49eCh0aGlzLCJicy50b29sdGlwIiksaT0ib2JqZWN0Ij09dHlwZW9mIGUmJmU7aWYoKG58fCEvZGlzcG9zZXxoaWRlLy50ZXN0KGUpKSYmKG58fChuPW5ldyB0KHRoaXMsaSkpLCJzdHJpbmciPT10eXBlb2YgZSkpe2lmKHZvaWQgMD09PW5bZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2UrJyInKTtuW2VdKCl9fSkpfSx0LmdldEluc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiB4KHQsImJzLnRvb2x0aXAiKX0sZSh0LG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI1LjAuMC1hbHBoYTEifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFVlfX0se2tleToiTkFNRSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHFlfX0se2tleToiREFUQV9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiJicy50b29sdGlwIn19LHtrZXk6IkV2ZW50IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gV2V9fSx7a2V5OiJFVkVOVF9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiIuYnMudG9vbHRpcCJ9fSx7a2V5OiJEZWZhdWx0VHlwZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFJlfX1dKSx0fSgpLFllPXcoKTtpZihZZSl7dmFyIFhlPVllLmZuW3FlXTtZZS5mbltxZV09VmUualF1ZXJ5SW50ZXJmYWNlLFllLmZuW3FlXS5Db25zdHJ1Y3Rvcj1WZSxZZS5mbltxZV0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBZZS5mbltxZV09WGUsVmUualF1ZXJ5SW50ZXJmYWNlfX12YXIgUWU9InBvcG92ZXIiLEdlPW5ldyBSZWdFeHAoIihefFxccylicy1wb3BvdmVyXFxTKyIsImciKSxLZT1vKG8oe30sVmUuRGVmYXVsdCkse30se3BsYWNlbWVudDoicmlnaHQiLHRyaWdnZXI6ImNsaWNrIixjb250ZW50OiIiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJwb3BvdmVyIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJwb3BvdmVyLWFycm93Ij48L2Rpdj48aDMgY2xhc3M9InBvcG92ZXItaGVhZGVyIj48L2gzPjxkaXYgY2xhc3M9InBvcG92ZXItYm9keSI+PC9kaXY+PC9kaXY+J30pLFplPW8obyh7fSxWZS5EZWZhdWx0VHlwZSkse30se2NvbnRlbnQ6IihzdHJpbmd8ZWxlbWVudHxmdW5jdGlvbikifSksJGU9e0hJREU6ImhpZGUuYnMucG9wb3ZlciIsSElEREVOOiJoaWRkZW4uYnMucG9wb3ZlciIsU0hPVzoic2hvdy5icy5wb3BvdmVyIixTSE9XTjoic2hvd24uYnMucG9wb3ZlciIsSU5TRVJURUQ6Imluc2VydGVkLmJzLnBvcG92ZXIiLENMSUNLOiJjbGljay5icy5wb3BvdmVyIixGT0NVU0lOOiJmb2N1c2luLmJzLnBvcG92ZXIiLEZPQ1VTT1VUOiJmb2N1c291dC5icy5wb3BvdmVyIixNT1VTRUVOVEVSOiJtb3VzZWVudGVyLmJzLnBvcG92ZXIiLE1PVVNFTEVBVkU6Im1vdXNlbGVhdmUuYnMucG9wb3ZlciJ9LEplPWZ1bmN0aW9uKHQpe3ZhciBuLGk7ZnVuY3Rpb24gbygpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31pPXQsKG49bykucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoaS5wcm90b3R5cGUpLG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPW4sbi5fX3Byb3RvX189aTt2YXIgcj1vLnByb3RvdHlwZTtyZXR1cm4gci5pc1dpdGhDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VGl0bGUoKXx8dGhpcy5fZ2V0Q29udGVudCgpfSxyLnNldENvbnRlbnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldFRpcEVsZW1lbnQoKTt0aGlzLnNldEVsZW1lbnRDb250ZW50KGV0LmZpbmRPbmUoIi5wb3BvdmVyLWhlYWRlciIsdCksdGhpcy5nZXRUaXRsZSgpKTt2YXIgZT10aGlzLl9nZXRDb250ZW50KCk7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWUuY2FsbCh0aGlzLmVsZW1lbnQpKSx0aGlzLnNldEVsZW1lbnRDb250ZW50KGV0LmZpbmRPbmUoIi5wb3BvdmVyLWJvZHkiLHQpLGUpLHQuY2xhc3NMaXN0LnJlbW92ZSgiZmFkZSIsInNob3ciKX0sci5fYWRkQXR0YWNobWVudENsYXNzPWZ1bmN0aW9uKHQpe3RoaXMuZ2V0VGlwRWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoImJzLXBvcG92ZXItIit0KX0sci5fZ2V0Q29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLWNvbnRlbnQiKXx8dGhpcy5jb25maWcuY29udGVudH0sci5fY2xlYW5UaXBDbGFzcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2V0VGlwRWxlbWVudCgpLGU9dC5nZXRBdHRyaWJ1dGUoImNsYXNzIikubWF0Y2goR2UpO251bGwhPT1lJiZlLmxlbmd0aD4wJiZlLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudHJpbSgpfSkpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNsYXNzTGlzdC5yZW1vdmUoZSl9KSl9LG8ualF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIGU9eCh0aGlzLCJicy5wb3BvdmVyIiksbj0ib2JqZWN0Ij09dHlwZW9mIHQ/dDpudWxsO2lmKChlfHwhL2Rpc3Bvc2V8aGlkZS8udGVzdCh0KSkmJihlfHwoZT1uZXcgbyh0aGlzLG4pLEModGhpcywiYnMucG9wb3ZlciIsZSkpLCJzdHJpbmciPT10eXBlb2YgdCkpe2lmKHZvaWQgMD09PWVbdF0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK3QrJyInKTtlW3RdKCl9fSkpfSxvLmdldEluc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiB4KHQsImJzLnBvcG92ZXIiKX0sZShvLG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI1LjAuMC1hbHBoYTEifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEtlfX0se2tleToiTkFNRSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFFlfX0se2tleToiREFUQV9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiJicy5wb3BvdmVyIn19LHtrZXk6IkV2ZW50IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gJGV9fSx7a2V5OiJFVkVOVF9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiIuYnMucG9wb3ZlciJ9fSx7a2V5OiJEZWZhdWx0VHlwZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFplfX1dKSxvfShWZSksdG49dygpO2lmKHRuKXt2YXIgZW49dG4uZm5bUWVdO3RuLmZuW1FlXT1KZS5qUXVlcnlJbnRlcmZhY2UsdG4uZm5bUWVdLkNvbnN0cnVjdG9yPUplLHRuLmZuW1FlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRuLmZuW1FlXT1lbixKZS5qUXVlcnlJbnRlcmZhY2V9fXZhciBubj0ic2Nyb2xsc3B5Iixvbj17b2Zmc2V0OjEwLG1ldGhvZDoiYXV0byIsdGFyZ2V0OiIifSxybj17b2Zmc2V0OiJudW1iZXIiLG1ldGhvZDoic3RyaW5nIix0YXJnZXQ6IihzdHJpbmd8ZWxlbWVudCkifSxzbj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlKXt2YXIgbj10aGlzO3RoaXMuX2VsZW1lbnQ9dCx0aGlzLl9zY3JvbGxFbGVtZW50PSJCT0RZIj09PXQudGFnTmFtZT93aW5kb3c6dCx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMuX3NlbGVjdG9yPXRoaXMuX2NvbmZpZy50YXJnZXQrIiAubmF2LWxpbmssIit0aGlzLl9jb25maWcudGFyZ2V0KyIgLmxpc3QtZ3JvdXAtaXRlbSwiK3RoaXMuX2NvbmZpZy50YXJnZXQrIiAuZHJvcGRvd24taXRlbSIsdGhpcy5fb2Zmc2V0cz1bXSx0aGlzLl90YXJnZXRzPVtdLHRoaXMuX2FjdGl2ZVRhcmdldD1udWxsLHRoaXMuX3Njcm9sbEhlaWdodD0wLFcub24odGhpcy5fc2Nyb2xsRWxlbWVudCwic2Nyb2xsLmJzLnNjcm9sbHNweSIsKGZ1bmN0aW9uKHQpe3JldHVybiBuLl9wcm9jZXNzKHQpfSkpLHRoaXMucmVmcmVzaCgpLHRoaXMuX3Byb2Nlc3MoKSxDKHQsImJzLnNjcm9sbHNweSIsdGhpcyl9dmFyIG49dC5wcm90b3R5cGU7cmV0dXJuIG4ucmVmcmVzaD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9zY3JvbGxFbGVtZW50PT09dGhpcy5fc2Nyb2xsRWxlbWVudC53aW5kb3c/Im9mZnNldCI6InBvc2l0aW9uIixuPSJhdXRvIj09PXRoaXMuX2NvbmZpZy5tZXRob2Q/ZTp0aGlzLl9jb25maWcubWV0aG9kLGk9InBvc2l0aW9uIj09PW4/dGhpcy5fZ2V0U2Nyb2xsVG9wKCk6MDt0aGlzLl9vZmZzZXRzPVtdLHRoaXMuX3RhcmdldHM9W10sdGhpcy5fc2Nyb2xsSGVpZ2h0PXRoaXMuX2dldFNjcm9sbEhlaWdodCgpLGV0LmZpbmQodGhpcy5fc2VsZWN0b3IpLm1hcCgoZnVuY3Rpb24odCl7dmFyIGUsbz1kKHQpO2lmKG8mJihlPWV0LmZpbmRPbmUobykpLGUpe3ZhciByPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoci53aWR0aHx8ci5oZWlnaHQpcmV0dXJuW3R0W25dKGUpLnRvcCtpLG9dfXJldHVybiBudWxsfSkpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHR9KSkuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXS1lWzBdfSkpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuX29mZnNldHMucHVzaChlWzBdKSx0Ll90YXJnZXRzLnB1c2goZVsxXSl9KSl9LG4uZGlzcG9zZT1mdW5jdGlvbigpe1QodGhpcy5fZWxlbWVudCwiYnMuc2Nyb2xsc3B5IiksVy5vZmYodGhpcy5fc2Nyb2xsRWxlbWVudCwiLmJzLnNjcm9sbHNweSIpLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9zY3JvbGxFbGVtZW50PW51bGwsdGhpcy5fY29uZmlnPW51bGwsdGhpcy5fc2VsZWN0b3I9bnVsbCx0aGlzLl9vZmZzZXRzPW51bGwsdGhpcy5fdGFyZ2V0cz1udWxsLHRoaXMuX2FjdGl2ZVRhcmdldD1udWxsLHRoaXMuX3Njcm9sbEhlaWdodD1udWxsfSxuLl9nZXRDb25maWc9ZnVuY3Rpb24odCl7aWYoInN0cmluZyIhPXR5cGVvZih0PW8obyh7fSxvbiksIm9iamVjdCI9PXR5cGVvZiB0JiZ0P3Q6e30pKS50YXJnZXQmJm0odC50YXJnZXQpKXt2YXIgZT10LnRhcmdldC5pZDtlfHwoZT1jKG5uKSx0LnRhcmdldC5pZD1lKSx0LnRhcmdldD0iIyIrZX1yZXR1cm4gdihubix0LHJuKSx0fSxuLl9nZXRTY3JvbGxUb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz90aGlzLl9zY3JvbGxFbGVtZW50LnBhZ2VZT2Zmc2V0OnRoaXMuX3Njcm9sbEVsZW1lbnQuc2Nyb2xsVG9wfSxuLl9nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSxuLl9nZXRPZmZzZXRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz93aW5kb3cuaW5uZXJIZWlnaHQ6dGhpcy5fc2Nyb2xsRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHR9LG4uX3Byb2Nlc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZXRTY3JvbGxUb3AoKSt0aGlzLl9jb25maWcub2Zmc2V0LGU9dGhpcy5fZ2V0U2Nyb2xsSGVpZ2h0KCksbj10aGlzLl9jb25maWcub2Zmc2V0K2UtdGhpcy5fZ2V0T2Zmc2V0SGVpZ2h0KCk7aWYodGhpcy5fc2Nyb2xsSGVpZ2h0IT09ZSYmdGhpcy5yZWZyZXNoKCksdD49bil7dmFyIGk9dGhpcy5fdGFyZ2V0c1t0aGlzLl90YXJnZXRzLmxlbmd0aC0xXTt0aGlzLl9hY3RpdmVUYXJnZXQhPT1pJiZ0aGlzLl9hY3RpdmF0ZShpKX1lbHNle2lmKHRoaXMuX2FjdGl2ZVRhcmdldCYmdDx0aGlzLl9vZmZzZXRzWzBdJiZ0aGlzLl9vZmZzZXRzWzBdPjApcmV0dXJuIHRoaXMuX2FjdGl2ZVRhcmdldD1udWxsLHZvaWQgdGhpcy5fY2xlYXIoKTtmb3IodmFyIG89dGhpcy5fb2Zmc2V0cy5sZW5ndGg7by0tOyl7dGhpcy5fYWN0aXZlVGFyZ2V0IT09dGhpcy5fdGFyZ2V0c1tvXSYmdD49dGhpcy5fb2Zmc2V0c1tvXSYmKHZvaWQgMD09PXRoaXMuX29mZnNldHNbbysxXXx8dDx0aGlzLl9vZmZzZXRzW28rMV0pJiZ0aGlzLl9hY3RpdmF0ZSh0aGlzLl90YXJnZXRzW29dKX19fSxuLl9hY3RpdmF0ZT1mdW5jdGlvbih0KXt0aGlzLl9hY3RpdmVUYXJnZXQ9dCx0aGlzLl9jbGVhcigpO3ZhciBlPXRoaXMuX3NlbGVjdG9yLnNwbGl0KCIsIikubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZSsnW2RhdGEtdGFyZ2V0PSInK3QrJyJdLCcrZSsnW2hyZWY9IicrdCsnIl0nfSkpLG49ZXQuZmluZE9uZShlLmpvaW4oIiwiKSk7bi5jbGFzc0xpc3QuY29udGFpbnMoImRyb3Bkb3duLWl0ZW0iKT8oZXQuZmluZE9uZSgiLmRyb3Bkb3duLXRvZ2dsZSIsbi5jbG9zZXN0KCIuZHJvcGRvd24iKSkuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIiksbi5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKSk6KG4uY2xhc3NMaXN0LmFkZCgiYWN0aXZlIiksZXQucGFyZW50cyhuLCIubmF2LCAubGlzdC1ncm91cCIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2V0LnByZXYodCwiLm5hdi1saW5rLCAubGlzdC1ncm91cC1pdGVtIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIil9KSksZXQucHJldih0LCIubmF2LWl0ZW0iKS5mb3JFYWNoKChmdW5jdGlvbih0KXtldC5jaGlsZHJlbih0LCIubmF2LWxpbmsiKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKX0pKX0pKX0pKSksVy50cmlnZ2VyKHRoaXMuX3Njcm9sbEVsZW1lbnQsImFjdGl2YXRlLmJzLnNjcm9sbHNweSIse3JlbGF0ZWRUYXJnZXQ6dH0pfSxuLl9jbGVhcj1mdW5jdGlvbigpe2V0LmZpbmQodGhpcy5fc2VsZWN0b3IpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQuY2xhc3NMaXN0LmNvbnRhaW5zKCJhY3RpdmUiKX0pKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKX0pKX0sdC5qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt2YXIgbj14KHRoaXMsImJzLnNjcm9sbHNweSIpO2lmKG58fChuPW5ldyB0KHRoaXMsIm9iamVjdCI9PXR5cGVvZiBlJiZlKSksInN0cmluZyI9PXR5cGVvZiBlKXtpZih2b2lkIDA9PT1uW2VdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytlKyciJyk7bltlXSgpfX0pKX0sdC5nZXRJbnN0YW5jZT1mdW5jdGlvbih0KXtyZXR1cm4geCh0LCJicy5zY3JvbGxzcHkiKX0sZSh0LG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI1LjAuMC1hbHBoYTEifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG9ufX1dKSx0fSgpO1cub24od2luZG93LCJsb2FkLmJzLnNjcm9sbHNweS5kYXRhLWFwaSIsKGZ1bmN0aW9uKCl7ZXQuZmluZCgnW2RhdGEtc3B5PSJzY3JvbGwiXScpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBuZXcgc24odCx0dC5nZXREYXRhQXR0cmlidXRlcyh0KSl9KSl9KSk7dmFyIGFuPXcoKTtpZihhbil7dmFyIGxuPWFuLmZuW25uXTthbi5mbltubl09c24ualF1ZXJ5SW50ZXJmYWNlLGFuLmZuW25uXS5Db25zdHJ1Y3Rvcj1zbixhbi5mbltubl0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhbi5mbltubl09bG4sc24ualF1ZXJ5SW50ZXJmYWNlfX12YXIgY249ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMuX2VsZW1lbnQ9dCxDKHRoaXMuX2VsZW1lbnQsImJzLnRhYiIsdGhpcyl9dmFyIG49dC5wcm90b3R5cGU7cmV0dXJuIG4uc2hvdz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYoISh0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUmJnRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZ0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiYWN0aXZlIil8fHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpKSl7dmFyIGUsbj1mKHRoaXMuX2VsZW1lbnQpLGk9dGhpcy5fZWxlbWVudC5jbG9zZXN0KCIubmF2LCAubGlzdC1ncm91cCIpO2lmKGkpe3ZhciBvPSJVTCI9PT1pLm5vZGVOYW1lfHwiT0wiPT09aS5ub2RlTmFtZT8iOnNjb3BlID4gbGkgPiAuYWN0aXZlIjoiLmFjdGl2ZSI7ZT0oZT1ldC5maW5kKG8saSkpW2UubGVuZ3RoLTFdfXZhciByPW51bGw7aWYoZSYmKHI9Vy50cmlnZ2VyKGUsImhpZGUuYnMudGFiIix7cmVsYXRlZFRhcmdldDp0aGlzLl9lbGVtZW50fSkpLCEoVy50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsInNob3cuYnMudGFiIix7cmVsYXRlZFRhcmdldDplfSkuZGVmYXVsdFByZXZlbnRlZHx8bnVsbCE9PXImJnIuZGVmYXVsdFByZXZlbnRlZCkpe3RoaXMuX2FjdGl2YXRlKHRoaXMuX2VsZW1lbnQsaSk7dmFyIHM9ZnVuY3Rpb24oKXtXLnRyaWdnZXIoZSwiaGlkZGVuLmJzLnRhYiIse3JlbGF0ZWRUYXJnZXQ6dC5fZWxlbWVudH0pLFcudHJpZ2dlcih0Ll9lbGVtZW50LCJzaG93bi5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OmV9KX07bj90aGlzLl9hY3RpdmF0ZShuLG4ucGFyZW50Tm9kZSxzKTpzKCl9fX0sbi5kaXNwb3NlPWZ1bmN0aW9uKCl7VCh0aGlzLl9lbGVtZW50LCJicy50YWIiKSx0aGlzLl9lbGVtZW50PW51bGx9LG4uX2FjdGl2YXRlPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10aGlzLG89KCFlfHwiVUwiIT09ZS5ub2RlTmFtZSYmIk9MIiE9PWUubm9kZU5hbWU/ZXQuY2hpbGRyZW4oZSwiLmFjdGl2ZSIpOmV0LmZpbmQoIjpzY29wZSA+IGxpID4gLmFjdGl2ZSIsZSkpWzBdLHI9biYmbyYmby5jbGFzc0xpc3QuY29udGFpbnMoImZhZGUiKSxzPWZ1bmN0aW9uKCl7cmV0dXJuIGkuX3RyYW5zaXRpb25Db21wbGV0ZSh0LG8sbil9O2lmKG8mJnIpe3ZhciBhPWgobyk7by5jbGFzc0xpc3QucmVtb3ZlKCJzaG93IiksVy5vbmUobywidHJhbnNpdGlvbmVuZCIscyksZyhvLGEpfWVsc2UgcygpfSxuLl90cmFuc2l0aW9uQ29tcGxldGU9ZnVuY3Rpb24odCxlLG4pe2lmKGUpe2UuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIik7dmFyIGk9ZXQuZmluZE9uZSgiOnNjb3BlID4gLmRyb3Bkb3duLW1lbnUgLmFjdGl2ZSIsZS5wYXJlbnROb2RlKTtpJiZpLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpLCJ0YWIiPT09ZS5nZXRBdHRyaWJ1dGUoInJvbGUiKSYmZS5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCExKX0odC5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKSwidGFiIj09PXQuZ2V0QXR0cmlidXRlKCJyb2xlIikmJnQuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwhMCkseSh0KSx0LmNsYXNzTGlzdC5jb250YWlucygiZmFkZSIpJiZ0LmNsYXNzTGlzdC5hZGQoInNob3ciKSx0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5jbGFzc0xpc3QuY29udGFpbnMoImRyb3Bkb3duLW1lbnUiKSkmJih0LmNsb3Nlc3QoIi5kcm9wZG93biIpJiZldC5maW5kKCIuZHJvcGRvd24tdG9nZ2xlIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIil9KSksdC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCEwKSk7biYmbigpfSx0LmpRdWVyeUludGVyZmFjZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBuPXgodGhpcywiYnMudGFiIil8fG5ldyB0KHRoaXMpO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7aWYodm9pZCAwPT09bltlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrZSsnIicpO25bZV0oKX19KSl9LHQuZ2V0SW5zdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIHgodCwiYnMudGFiIil9LGUodCxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNS4wLjAtYWxwaGExIn19XSksdH0oKTtXLm9uKGRvY3VtZW50LCJjbGljay5icy50YWIuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9InRhYiJdLCBbZGF0YS10b2dnbGU9InBpbGwiXSwgW2RhdGEtdG9nZ2xlPSJsaXN0Il0nLChmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksKHgodGhpcywiYnMudGFiIil8fG5ldyBjbih0aGlzKSkuc2hvdygpfSkpO3ZhciB1bj13KCk7aWYodW4pe3ZhciBkbj11bi5mbi50YWI7dW4uZm4udGFiPWNuLmpRdWVyeUludGVyZmFjZSx1bi5mbi50YWIuQ29uc3RydWN0b3I9Y24sdW4uZm4udGFiLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdW4uZm4udGFiPWRuLGNuLmpRdWVyeUludGVyZmFjZX19dmFyIGZuPXthbmltYXRpb246ImJvb2xlYW4iLGF1dG9oaWRlOiJib29sZWFuIixkZWxheToibnVtYmVyIn0saG49e2FuaW1hdGlvbjohMCxhdXRvaGlkZTohMCxkZWxheTo1MDB9LHBuPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe3RoaXMuX2VsZW1lbnQ9dCx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMuX3RpbWVvdXQ9bnVsbCx0aGlzLl9zZXRMaXN0ZW5lcnMoKSxDKHQsImJzLnRvYXN0Iix0aGlzKX12YXIgbj10LnByb3RvdHlwZTtyZXR1cm4gbi5zaG93PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZighVy50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsInNob3cuYnMudG9hc3QiKS5kZWZhdWx0UHJldmVudGVkKXt0aGlzLl9jb25maWcuYW5pbWF0aW9uJiZ0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoImZhZGUiKTt2YXIgZT1mdW5jdGlvbigpe3QuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgic2hvd2luZyIpLHQuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgic2hvdyIpLFcudHJpZ2dlcih0Ll9lbGVtZW50LCJzaG93bi5icy50b2FzdCIpLHQuX2NvbmZpZy5hdXRvaGlkZSYmKHQuX3RpbWVvdXQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0LmhpZGUoKX0pLHQuX2NvbmZpZy5kZWxheSkpfTtpZih0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKSx5KHRoaXMuX2VsZW1lbnQpLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgic2hvd2luZyIpLHRoaXMuX2NvbmZpZy5hbmltYXRpb24pe3ZhciBuPWgodGhpcy5fZWxlbWVudCk7Vy5vbmUodGhpcy5fZWxlbWVudCwidHJhbnNpdGlvbmVuZCIsZSksZyh0aGlzLl9lbGVtZW50LG4pfWVsc2UgZSgpfX0sbi5oaWRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZih0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygic2hvdyIpJiYhVy50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsImhpZGUuYnMudG9hc3QiKS5kZWZhdWx0UHJldmVudGVkKXt2YXIgZT1mdW5jdGlvbigpe3QuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpLFcudHJpZ2dlcih0Ll9lbGVtZW50LCJoaWRkZW4uYnMudG9hc3QiKX07aWYodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJzaG93IiksdGhpcy5fY29uZmlnLmFuaW1hdGlvbil7dmFyIG49aCh0aGlzLl9lbGVtZW50KTtXLm9uZSh0aGlzLl9lbGVtZW50LCJ0cmFuc2l0aW9uZW5kIixlKSxnKHRoaXMuX2VsZW1lbnQsbil9ZWxzZSBlKCl9fSxuLmRpc3Bvc2U9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJzaG93IikmJnRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgic2hvdyIpLFcub2ZmKHRoaXMuX2VsZW1lbnQsImNsaWNrLmRpc21pc3MuYnMudG9hc3QiKSxUKHRoaXMuX2VsZW1lbnQsImJzLnRvYXN0IiksdGhpcy5fZWxlbWVudD1udWxsLHRoaXMuX2NvbmZpZz1udWxsfSxuLl9nZXRDb25maWc9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9byhvKG8oe30saG4pLHR0LmdldERhdGFBdHRyaWJ1dGVzKHRoaXMuX2VsZW1lbnQpKSwib2JqZWN0Ij09dHlwZW9mIHQmJnQ/dDp7fSksdigidG9hc3QiLHQsdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSksdH0sbi5fc2V0TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztXLm9uKHRoaXMuX2VsZW1lbnQsImNsaWNrLmRpc21pc3MuYnMudG9hc3QiLCdbZGF0YS1kaXNtaXNzPSJ0b2FzdCJdJywoZnVuY3Rpb24oKXtyZXR1cm4gdC5oaWRlKCl9KSl9LHQualF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49eCh0aGlzLCJicy50b2FzdCIpO2lmKG58fChuPW5ldyB0KHRoaXMsIm9iamVjdCI9PXR5cGVvZiBlJiZlKSksInN0cmluZyI9PXR5cGVvZiBlKXtpZih2b2lkIDA9PT1uW2VdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytlKyciJyk7bltlXSh0aGlzKX19KSl9LHQuZ2V0SW5zdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIHgodCwiYnMudG9hc3QiKX0sZSh0LG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI1LjAuMC1hbHBoYTEifX0se2tleToiRGVmYXVsdFR5cGUiLGdldDpmdW5jdGlvbigpe3JldHVybiBmbn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBobn19XSksdH0oKSxtbj13KCk7aWYobW4pe3ZhciBnbj1tbi5mbi50b2FzdDttbi5mbi50b2FzdD1wbi5qUXVlcnlJbnRlcmZhY2UsbW4uZm4udG9hc3QuQ29uc3RydWN0b3I9cG4sbW4uZm4udG9hc3Qubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBtbi5mbi50b2FzdD1nbixwbi5qUXVlcnlJbnRlcmZhY2V9fXJldHVybntBbGVydDpZLEJ1dHRvbjpHLENhcm91c2VsOmF0LENvbGxhcHNlOmh0LERyb3Bkb3duOlRlLE1vZGFsOk9lLFBvcG92ZXI6SmUsU2Nyb2xsU3B5OnNuLFRhYjpjbixUb2FzdDpwbixUb29sdGlwOlZlfX0pKSwKLyohCiAqIGhlYWRyb29tLmpzIHYwLjExLjAgLSBHaXZlIHlvdXIgcGFnZSBzb21lIGhlYWRyb29tLiBIaWRlIHlvdXIgaGVhZGVyIHVudGlsIHlvdSBuZWVkIGl0CiAqIENvcHlyaWdodCAoYykgMjAyMCBOaWNrIFdpbGxpYW1zIC0gaHR0cDovL3dpY2t5Lm5pbGxpYS5tcy9oZWFkcm9vbS5qcwogKiBMaWNlbnNlOiBNSVQKICovCmZ1bmN0aW9uKHQsZSl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1lKCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6KHQ9dHx8c2VsZikuSGVhZHJvb209ZSgpfSh0aGlzLChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3d9ZnVuY3Rpb24gZSh0KXtyZXR1cm4ocj10KSYmci5kb2N1bWVudCYmZnVuY3Rpb24odCl7cmV0dXJuIDk9PT10Lm5vZGVUeXBlfShyLmRvY3VtZW50KT8obj0oZT10KS5kb2N1bWVudCxpPW4uYm9keSxvPW4uZG9jdW1lbnRFbGVtZW50LHtzY3JvbGxIZWlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5tYXgoaS5zY3JvbGxIZWlnaHQsby5zY3JvbGxIZWlnaHQsaS5vZmZzZXRIZWlnaHQsby5vZmZzZXRIZWlnaHQsaS5jbGllbnRIZWlnaHQsby5jbGllbnRIZWlnaHQpfSxoZWlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5pbm5lckhlaWdodHx8by5jbGllbnRIZWlnaHR8fGkuY2xpZW50SGVpZ2h0fSxzY3JvbGxZOmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PWUucGFnZVlPZmZzZXQ/ZS5wYWdlWU9mZnNldDoob3x8aS5wYXJlbnROb2RlfHxpKS5zY3JvbGxUb3B9fSk6ZnVuY3Rpb24odCl7cmV0dXJue3Njcm9sbEhlaWdodDpmdW5jdGlvbigpe3JldHVybiBNYXRoLm1heCh0LnNjcm9sbEhlaWdodCx0Lm9mZnNldEhlaWdodCx0LmNsaWVudEhlaWdodCl9LGhlaWdodDpmdW5jdGlvbigpe3JldHVybiBNYXRoLm1heCh0Lm9mZnNldEhlaWdodCx0LmNsaWVudEhlaWdodCl9LHNjcm9sbFk6ZnVuY3Rpb24oKXtyZXR1cm4gdC5zY3JvbGxUb3B9fX0odCk7dmFyIGUsbixpLG8scn1mdW5jdGlvbiBuKHQsbixpKXt2YXIgbyxyPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7dHJ5e3ZhciBlPXtnZXQgcGFzc2l2ZSgpe3Q9ITB9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsZSxlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsZSxlKX1jYXRjaChlKXt0PSExfXJldHVybiB0fSgpLHM9ITEsYT1lKHQpLGw9YS5zY3JvbGxZKCksYz17fTtmdW5jdGlvbiB1KCl7dmFyIHQ9TWF0aC5yb3VuZChhLnNjcm9sbFkoKSksZT1hLmhlaWdodCgpLG89YS5zY3JvbGxIZWlnaHQoKTtjLnNjcm9sbFk9dCxjLmxhc3RTY3JvbGxZPWwsYy5kaXJlY3Rpb249dD5sPyJkb3duIjoidXAiLGMuZGlzdGFuY2U9TWF0aC5hYnModC1sKSxjLmlzT3V0T2ZCb3VuZHM9dDwwfHx0K2U+byxjLnRvcD10PD1uLm9mZnNldCxjLmJvdHRvbT10K2U+PW8sYy50b2xlcmFuY2VFeGNlZWRlZD1jLmRpc3RhbmNlPm4udG9sZXJhbmNlW2MuZGlyZWN0aW9uXSxpKGMpLGw9dCxzPSExfWZ1bmN0aW9uIGQoKXtzfHwocz0hMCxvPXJlcXVlc3RBbmltYXRpb25GcmFtZSh1KSl9dmFyIGY9ISFyJiZ7cGFzc2l2ZTohMCxjYXB0dXJlOiExfTtyZXR1cm4gdC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGQsZiksdSgpLHtkZXN0cm95OmZ1bmN0aW9uKCl7Y2FuY2VsQW5pbWF0aW9uRnJhbWUobyksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGQsZil9fX1mdW5jdGlvbiBpKHQsZSl7dmFyIG47ZT1lfHx7fSxPYmplY3QuYXNzaWduKHRoaXMsaS5vcHRpb25zLGUpLHRoaXMuY2xhc3Nlcz1PYmplY3QuYXNzaWduKHt9LGkub3B0aW9ucy5jbGFzc2VzLGUuY2xhc3NlcyksdGhpcy5lbGVtPXQsdGhpcy50b2xlcmFuY2U9KG49dGhpcy50b2xlcmFuY2UpPT09T2JqZWN0KG4pP246e2Rvd246bix1cDpufSx0aGlzLmluaXRpYWxpc2VkPSExLHRoaXMuZnJvemVuPSExfXJldHVybiBpLnByb3RvdHlwZT17Y29uc3RydWN0b3I6aSxpbml0OmZ1bmN0aW9uKCl7cmV0dXJuIGkuY3V0c1RoZU11c3RhcmQmJiF0aGlzLmluaXRpYWxpc2VkJiYodGhpcy5hZGRDbGFzcygiaW5pdGlhbCIpLHRoaXMuaW5pdGlhbGlzZWQ9ITAsc2V0VGltZW91dCgoZnVuY3Rpb24odCl7dC5zY3JvbGxUcmFja2VyPW4odC5zY3JvbGxlcix7b2Zmc2V0OnQub2Zmc2V0LHRvbGVyYW5jZTp0LnRvbGVyYW5jZX0sdC51cGRhdGUuYmluZCh0KSl9KSwxMDAsdGhpcykpLHRoaXN9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmluaXRpYWxpc2VkPSExLE9iamVjdC5rZXlzKHRoaXMuY2xhc3NlcykuZm9yRWFjaCh0aGlzLnJlbW92ZUNsYXNzLHRoaXMpLHRoaXMuc2Nyb2xsVHJhY2tlci5kZXN0cm95KCl9LHVucGluOmZ1bmN0aW9uKCl7IXRoaXMuaGFzQ2xhc3MoInBpbm5lZCIpJiZ0aGlzLmhhc0NsYXNzKCJ1bnBpbm5lZCIpfHwodGhpcy5hZGRDbGFzcygidW5waW5uZWQiKSx0aGlzLnJlbW92ZUNsYXNzKCJwaW5uZWQiKSx0aGlzLm9uVW5waW4mJnRoaXMub25VbnBpbi5jYWxsKHRoaXMpKX0scGluOmZ1bmN0aW9uKCl7dGhpcy5oYXNDbGFzcygidW5waW5uZWQiKSYmKHRoaXMuYWRkQ2xhc3MoInBpbm5lZCIpLHRoaXMucmVtb3ZlQ2xhc3MoInVucGlubmVkIiksdGhpcy5vblBpbiYmdGhpcy5vblBpbi5jYWxsKHRoaXMpKX0sZnJlZXplOmZ1bmN0aW9uKCl7dGhpcy5mcm96ZW49ITAsdGhpcy5hZGRDbGFzcygiZnJvemVuIil9LHVuZnJlZXplOmZ1bmN0aW9uKCl7dGhpcy5mcm96ZW49ITEsdGhpcy5yZW1vdmVDbGFzcygiZnJvemVuIil9LHRvcDpmdW5jdGlvbigpe3RoaXMuaGFzQ2xhc3MoInRvcCIpfHwodGhpcy5hZGRDbGFzcygidG9wIiksdGhpcy5yZW1vdmVDbGFzcygibm90VG9wIiksdGhpcy5vblRvcCYmdGhpcy5vblRvcC5jYWxsKHRoaXMpKX0sbm90VG9wOmZ1bmN0aW9uKCl7dGhpcy5oYXNDbGFzcygibm90VG9wIil8fCh0aGlzLmFkZENsYXNzKCJub3RUb3AiKSx0aGlzLnJlbW92ZUNsYXNzKCJ0b3AiKSx0aGlzLm9uTm90VG9wJiZ0aGlzLm9uTm90VG9wLmNhbGwodGhpcykpfSxib3R0b206ZnVuY3Rpb24oKXt0aGlzLmhhc0NsYXNzKCJib3R0b20iKXx8KHRoaXMuYWRkQ2xhc3MoImJvdHRvbSIpLHRoaXMucmVtb3ZlQ2xhc3MoIm5vdEJvdHRvbSIpLHRoaXMub25Cb3R0b20mJnRoaXMub25Cb3R0b20uY2FsbCh0aGlzKSl9LG5vdEJvdHRvbTpmdW5jdGlvbigpe3RoaXMuaGFzQ2xhc3MoIm5vdEJvdHRvbSIpfHwodGhpcy5hZGRDbGFzcygibm90Qm90dG9tIiksdGhpcy5yZW1vdmVDbGFzcygiYm90dG9tIiksdGhpcy5vbk5vdEJvdHRvbSYmdGhpcy5vbk5vdEJvdHRvbS5jYWxsKHRoaXMpKX0sc2hvdWxkVW5waW46ZnVuY3Rpb24odCl7cmV0dXJuImRvd24iPT09dC5kaXJlY3Rpb24mJiF0LnRvcCYmdC50b2xlcmFuY2VFeGNlZWRlZH0sc2hvdWxkUGluOmZ1bmN0aW9uKHQpe3JldHVybiJ1cCI9PT10LmRpcmVjdGlvbiYmdC50b2xlcmFuY2VFeGNlZWRlZHx8dC50b3B9LGFkZENsYXNzOmZ1bmN0aW9uKHQpe3RoaXMuZWxlbS5jbGFzc0xpc3QuYWRkLmFwcGx5KHRoaXMuZWxlbS5jbGFzc0xpc3QsdGhpcy5jbGFzc2VzW3RdLnNwbGl0KCIgIikpfSxyZW1vdmVDbGFzczpmdW5jdGlvbih0KXt0aGlzLmVsZW0uY2xhc3NMaXN0LnJlbW92ZS5hcHBseSh0aGlzLmVsZW0uY2xhc3NMaXN0LHRoaXMuY2xhc3Nlc1t0XS5zcGxpdCgiICIpKX0saGFzQ2xhc3M6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xhc3Nlc1t0XS5zcGxpdCgiICIpLmV2ZXJ5KChmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbGFzc0xpc3QuY29udGFpbnModCl9KSx0aGlzLmVsZW0pfSx1cGRhdGU6ZnVuY3Rpb24odCl7dC5pc091dE9mQm91bmRzfHwhMCE9PXRoaXMuZnJvemVuJiYodC50b3A/dGhpcy50b3AoKTp0aGlzLm5vdFRvcCgpLHQuYm90dG9tP3RoaXMuYm90dG9tKCk6dGhpcy5ub3RCb3R0b20oKSx0aGlzLnNob3VsZFVucGluKHQpP3RoaXMudW5waW4oKTp0aGlzLnNob3VsZFBpbih0KSYmdGhpcy5waW4oKSl9fSxpLm9wdGlvbnM9e3RvbGVyYW5jZTp7dXA6MCxkb3duOjB9LG9mZnNldDowLHNjcm9sbGVyOnQoKT93aW5kb3c6bnVsbCxjbGFzc2VzOntmcm96ZW46ImhlYWRyb29tLS1mcm96ZW4iLHBpbm5lZDoiaGVhZHJvb20tLXBpbm5lZCIsdW5waW5uZWQ6ImhlYWRyb29tLS11bnBpbm5lZCIsdG9wOiJoZWFkcm9vbS0tdG9wIixub3RUb3A6ImhlYWRyb29tLS1ub3QtdG9wIixib3R0b206ImhlYWRyb29tLS1ib3R0b20iLG5vdEJvdHRvbToiaGVhZHJvb20tLW5vdC1ib3R0b20iLGluaXRpYWw6ImhlYWRyb29tIn19LGkuY3V0c1RoZU11c3RhcmQ9ISEodCgpJiZmdW5jdGlvbigpe30uYmluZCYmImNsYXNzTGlzdCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJk9iamVjdC5hc3NpZ24mJk9iamVjdC5rZXlzJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpLGl9KSksZnVuY3Rpb24odCxlKXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPWUoKToiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShlKToodD10fHxzZWxmLGZ1bmN0aW9uKCl7dmFyIG49dC5Db29raWVzLGk9dC5Db29raWVzPWUoKTtpLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5Db29raWVzPW4saX19KCkpfSh0aGlzLChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KHQpe2Zvcih2YXIgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciBuPWFyZ3VtZW50c1tlXTtmb3IodmFyIGkgaW4gbil0W2ldPW5baV19cmV0dXJuIHR9dmFyIGU9e3JlYWQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZSgvKCVbXGRBLUZdezJ9KSsvZ2ksZGVjb2RlVVJJQ29tcG9uZW50KX0sd3JpdGU6ZnVuY3Rpb24odCl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0KS5yZXBsYWNlKC8lKDJbMzQ2QkZdfDNbQUMtRl18NDB8NVtCREVdfDYwfDdbQkNEXSkvZyxkZWNvZGVVUklDb21wb25lbnQpfX07cmV0dXJuIGZ1bmN0aW9uIG4oaSxvKXtmdW5jdGlvbiByKGUsbixyKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50KXsibnVtYmVyIj09dHlwZW9mKHI9dCh7fSxvLHIpKS5leHBpcmVzJiYoci5leHBpcmVzPW5ldyBEYXRlKERhdGUubm93KCkrODY0ZTUqci5leHBpcmVzKSksci5leHBpcmVzJiYoci5leHBpcmVzPXIuZXhwaXJlcy50b1VUQ1N0cmluZygpKSxlPWVuY29kZVVSSUNvbXBvbmVudChlKS5yZXBsYWNlKC8lKDJbMzQ2Ql18NUV8NjB8N0MpL2csZGVjb2RlVVJJQ29tcG9uZW50KS5yZXBsYWNlKC9bKCldL2csZXNjYXBlKSxuPWkud3JpdGUobixlKTt2YXIgcz0iIjtmb3IodmFyIGEgaW4gcilyW2FdJiYocys9IjsgIithLCEwIT09clthXSYmKHMrPSI9IityW2FdLnNwbGl0KCI7IilbMF0pKTtyZXR1cm4gZG9jdW1lbnQuY29va2llPWUrIj0iK24rc319cmV0dXJuIE9iamVjdC5jcmVhdGUoe3NldDpyLGdldDpmdW5jdGlvbih0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiYoIWFyZ3VtZW50cy5sZW5ndGh8fHQpKXtmb3IodmFyIG49ZG9jdW1lbnQuY29va2llP2RvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyAiKTpbXSxvPXt9LHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIHM9bltyXS5zcGxpdCgiPSIpLGE9cy5zbGljZSgxKS5qb2luKCI9Iik7JyInPT09YVswXSYmKGE9YS5zbGljZSgxLC0xKSk7dHJ5e3ZhciBsPWUucmVhZChzWzBdKTtpZihvW2xdPWkucmVhZChhLGwpLHQ9PT1sKWJyZWFrfWNhdGNoKHQpe319cmV0dXJuIHQ/b1t0XTpvfX0scmVtb3ZlOmZ1bmN0aW9uKGUsbil7cihlLCIiLHQoe30sbix7ZXhwaXJlczotMX0pKX0sd2l0aEF0dHJpYnV0ZXM6ZnVuY3Rpb24oZSl7cmV0dXJuIG4odGhpcy5jb252ZXJ0ZXIsdCh7fSx0aGlzLmF0dHJpYnV0ZXMsZSkpfSx3aXRoQ29udmVydGVyOmZ1bmN0aW9uKGUpe3JldHVybiBuKHQoe30sdGhpcy5jb252ZXJ0ZXIsZSksdGhpcy5hdHRyaWJ1dGVzKX19LHthdHRyaWJ1dGVzOnt2YWx1ZTpPYmplY3QuZnJlZXplKG8pfSxjb252ZXJ0ZXI6e3ZhbHVlOk9iamVjdC5mcmVlemUoaSl9fSl9KGUse3BhdGg6Ii8ifSl9KSksZnVuY3Rpb24odCxlKXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPWUoKToiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShlKToodD10fHxzZWxmKS5MYXp5TG9hZD1lKCl9KHRoaXMsKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoKXtyZXR1cm4odD1PYmplY3QuYXNzaWdufHxmdW5jdGlvbih0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgbj1hcmd1bWVudHNbZV07Zm9yKHZhciBpIGluIG4pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4saSkmJih0W2ldPW5baV0pfXJldHVybiB0fSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfXZhciBlPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LG49ZSYmISgib25zY3JvbGwiaW4gd2luZG93KXx8InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJi8oZ2xlfGluZ3xybylib3R8Y3Jhd2x8c3BpZGVyL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxpPWUmJiJJbnRlcnNlY3Rpb25PYnNlcnZlciJpbiB3aW5kb3csbz1lJiYiY2xhc3NMaXN0ImluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKSxyPWUmJndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPjEscz17ZWxlbWVudHNfc2VsZWN0b3I6Ii5sYXp5Iixjb250YWluZXI6bnx8ZT9kb2N1bWVudDpudWxsLHRocmVzaG9sZDozMDAsdGhyZXNob2xkczpudWxsLGRhdGFfc3JjOiJzcmMiLGRhdGFfc3Jjc2V0OiJzcmNzZXQiLGRhdGFfc2l6ZXM6InNpemVzIixkYXRhX2JnOiJiZyIsZGF0YV9iZ19oaWRwaToiYmctaGlkcGkiLGRhdGFfYmdfbXVsdGk6ImJnLW11bHRpIixkYXRhX2JnX211bHRpX2hpZHBpOiJiZy1tdWx0aS1oaWRwaSIsZGF0YV9wb3N0ZXI6InBvc3RlciIsY2xhc3NfYXBwbGllZDoiYXBwbGllZCIsY2xhc3NfbG9hZGluZzoibG9hZGluZyIsY2xhc3NfbG9hZGVkOiJsb2FkZWQiLGNsYXNzX2Vycm9yOiJlcnJvciIsdW5vYnNlcnZlX2NvbXBsZXRlZDohMCx1bm9ic2VydmVfZW50ZXJlZDohMSxjYW5jZWxfb25fZXhpdDohMCxjYWxsYmFja19lbnRlcjpudWxsLGNhbGxiYWNrX2V4aXQ6bnVsbCxjYWxsYmFja19hcHBsaWVkOm51bGwsY2FsbGJhY2tfbG9hZGluZzpudWxsLGNhbGxiYWNrX2xvYWRlZDpudWxsLGNhbGxiYWNrX2Vycm9yOm51bGwsY2FsbGJhY2tfZmluaXNoOm51bGwsY2FsbGJhY2tfY2FuY2VsOm51bGwsdXNlX25hdGl2ZTohMX0sYT1mdW5jdGlvbihlKXtyZXR1cm4gdCh7fSxzLGUpfSxsPWZ1bmN0aW9uKHQsZSl7dmFyIG4saT1uZXcgdChlKTt0cnl7bj1uZXcgQ3VzdG9tRXZlbnQoIkxhenlMb2FkOjpJbml0aWFsaXplZCIse2RldGFpbDp7aW5zdGFuY2U6aX19KX1jYXRjaCh0KXsobj1kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSkuaW5pdEN1c3RvbUV2ZW50KCJMYXp5TG9hZDo6SW5pdGlhbGl6ZWQiLCExLCExLHtpbnN0YW5jZTppfSl9d2luZG93LmRpc3BhdGNoRXZlbnQobil9LGM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5nZXRBdHRyaWJ1dGUoImRhdGEtIitlKX0sdT1mdW5jdGlvbih0LGUsbil7dmFyIGk9ImRhdGEtIitlO251bGwhPT1uP3Quc2V0QXR0cmlidXRlKGksbik6dC5yZW1vdmVBdHRyaWJ1dGUoaSl9LGQ9ZnVuY3Rpb24odCl7cmV0dXJuIGModCwibGwtc3RhdHVzIil9LGY9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdSh0LCJsbC1zdGF0dXMiLGUpfSxoPWZ1bmN0aW9uKHQpe3JldHVybiBmKHQsbnVsbCl9LHA9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PT1kKHQpfSxtPWZ1bmN0aW9uKHQpe3JldHVybiJuYXRpdmUiPT09ZCh0KX0sZz1bImxvYWRpbmciLCJsb2FkZWQiLCJhcHBsaWVkIiwiZXJyb3IiXSx2PWZ1bmN0aW9uKHQsZSxuLGkpe3QmJih2b2lkIDA9PT1pP3ZvaWQgMD09PW4/dChlKTp0KGUsbik6dChlLG4saSkpfSxiPWZ1bmN0aW9uKHQsZSl7bz90LmNsYXNzTGlzdC5hZGQoZSk6dC5jbGFzc05hbWUrPSh0LmNsYXNzTmFtZT8iICI6IiIpK2V9LF89ZnVuY3Rpb24odCxlKXtvP3QuY2xhc3NMaXN0LnJlbW92ZShlKTp0LmNsYXNzTmFtZT10LmNsYXNzTmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoIihefFxccyspIitlKyIoXFxzK3wkKSIpLCIgIikucmVwbGFjZSgvXlxzKy8sIiIpLnJlcGxhY2UoL1xzKyQvLCIiKX0seT1mdW5jdGlvbih0KXtyZXR1cm4gdC5sbFRlbXBJbWFnZX0sdz1mdW5jdGlvbih0LGUpe2lmKGUpe3ZhciBuPWUuX29ic2VydmVyO24mJm4udW5vYnNlcnZlKHQpfX0sRT1mdW5jdGlvbih0LGUpe3QmJih0LmxvYWRpbmdDb3VudCs9ZSl9LEM9ZnVuY3Rpb24odCxlKXt0JiYodC50b0xvYWRDb3VudD1lKX0seD1mdW5jdGlvbih0KXtmb3IodmFyIGUsbj1bXSxpPTA7ZT10LmNoaWxkcmVuW2ldO2krPTEpIlNPVVJDRSI9PT1lLnRhZ05hbWUmJm4ucHVzaChlKTtyZXR1cm4gbn0sVD1mdW5jdGlvbih0LGUsbil7biYmdC5zZXRBdHRyaWJ1dGUoZSxuKX0sUz1mdW5jdGlvbih0LGUpe3QucmVtb3ZlQXR0cmlidXRlKGUpfSxMPWZ1bmN0aW9uKHQpe3JldHVybiEhdC5sbE9yaWdpbmFsQXR0cnN9LGs9ZnVuY3Rpb24odCl7aWYoIUwodCkpe3ZhciBlPXt9O2Uuc3JjPXQuZ2V0QXR0cmlidXRlKCJzcmMiKSxlLnNyY3NldD10LmdldEF0dHJpYnV0ZSgic3Jjc2V0IiksZS5zaXplcz10LmdldEF0dHJpYnV0ZSgic2l6ZXMiKSx0LmxsT3JpZ2luYWxBdHRycz1lfX0sQT1mdW5jdGlvbih0KXtpZihMKHQpKXt2YXIgZT10LmxsT3JpZ2luYWxBdHRycztUKHQsInNyYyIsZS5zcmMpLFQodCwic3Jjc2V0IixlLnNyY3NldCksVCh0LCJzaXplcyIsZS5zaXplcyl9fSxPPWZ1bmN0aW9uKHQsZSl7VCh0LCJzaXplcyIsYyh0LGUuZGF0YV9zaXplcykpLFQodCwic3Jjc2V0IixjKHQsZS5kYXRhX3NyY3NldCkpLFQodCwic3JjIixjKHQsZS5kYXRhX3NyYykpfSxOPWZ1bmN0aW9uKHQpe1ModCwic3JjIiksUyh0LCJzcmNzZXQiKSxTKHQsInNpemVzIil9LEQ9ZnVuY3Rpb24odCxlKXt2YXIgbj10LnBhcmVudE5vZGU7biYmIlBJQ1RVUkUiPT09bi50YWdOYW1lJiZ4KG4pLmZvckVhY2goZSl9LGo9ZnVuY3Rpb24odCxlKXt4KHQpLmZvckVhY2goZSl9LEk9e0lNRzpmdW5jdGlvbih0LGUpe0QodCwoZnVuY3Rpb24odCl7ayh0KSxPKHQsZSl9KSksayh0KSxPKHQsZSl9LElGUkFNRTpmdW5jdGlvbih0LGUpe1QodCwic3JjIixjKHQsZS5kYXRhX3NyYykpfSxWSURFTzpmdW5jdGlvbih0LGUpe2oodCwoZnVuY3Rpb24odCl7VCh0LCJzcmMiLGModCxlLmRhdGFfc3JjKSl9KSksVCh0LCJwb3N0ZXIiLGModCxlLmRhdGFfcG9zdGVyKSksVCh0LCJzcmMiLGModCxlLmRhdGFfc3JjKSksdC5sb2FkKCl9fSxNPWZ1bmN0aW9uKHQsZSl7dmFyIG49SVt0LnRhZ05hbWVdO24mJm4odCxlKX0sUD1mdW5jdGlvbih0LGUsbil7Yih0LGUuY2xhc3NfYXBwbGllZCksZih0LCJhcHBsaWVkIiksQih0LGUpLGUudW5vYnNlcnZlX2NvbXBsZXRlZCYmdyh0LGUpLHYoZS5jYWxsYmFja19hcHBsaWVkLHQsbil9LEg9ZnVuY3Rpb24odCxlLG4pe0UobiwxKSxiKHQsZS5jbGFzc19sb2FkaW5nKSxmKHQsImxvYWRpbmciKSx2KGUuY2FsbGJhY2tfbG9hZGluZyx0LG4pfSxxPXtJTUc6ZnVuY3Rpb24odCxlKXt1KHQsZS5kYXRhX3NyYyxudWxsKSx1KHQsZS5kYXRhX3NyY3NldCxudWxsKSx1KHQsZS5kYXRhX3NpemVzLG51bGwpLEQodCwoZnVuY3Rpb24odCl7dSh0LGUuZGF0YV9zcmNzZXQsbnVsbCksdSh0LGUuZGF0YV9zaXplcyxudWxsKX0pKX0sSUZSQU1FOmZ1bmN0aW9uKHQsZSl7dSh0LGUuZGF0YV9zcmMsbnVsbCl9LFZJREVPOmZ1bmN0aW9uKHQsZSl7dSh0LGUuZGF0YV9zcmMsbnVsbCksdSh0LGUuZGF0YV9wb3N0ZXIsbnVsbCksaih0LChmdW5jdGlvbih0KXt1KHQsZS5kYXRhX3NyYyxudWxsKX0pKX19LEI9ZnVuY3Rpb24odCxlKXt1KHQsZS5kYXRhX2JnX211bHRpLG51bGwpLHUodCxlLmRhdGFfYmdfbXVsdGlfaGlkcGksbnVsbCl9LHo9ZnVuY3Rpb24odCxlKXt2YXIgbj1xW3QudGFnTmFtZV07bj9uKHQsZSk6ZnVuY3Rpb24odCxlKXt1KHQsZS5kYXRhX2JnLG51bGwpLHUodCxlLmRhdGFfYmdfaGlkcGksbnVsbCl9KHQsZSl9LFI9WyJJTUciLCJJRlJBTUUiLCJWSURFTyJdLEY9ZnVuY3Rpb24odCxlKXshZXx8ZnVuY3Rpb24odCl7cmV0dXJuIHQubG9hZGluZ0NvdW50PjB9KGUpfHxmdW5jdGlvbih0KXtyZXR1cm4gdC50b0xvYWRDb3VudD4wfShlKXx8dih0LmNhbGxiYWNrX2ZpbmlzaCxlKX0sVT1mdW5jdGlvbih0LGUsbil7dC5hZGRFdmVudExpc3RlbmVyKGUsbiksdC5sbEV2TGlzbnJzW2VdPW59LFc9ZnVuY3Rpb24odCxlLG4pe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4pfSxWPWZ1bmN0aW9uKHQpe3JldHVybiEhdC5sbEV2TGlzbnJzfSxZPWZ1bmN0aW9uKHQpe2lmKFYodCkpe3ZhciBlPXQubGxFdkxpc25ycztmb3IodmFyIG4gaW4gZSl7dmFyIGk9ZVtuXTtXKHQsbixpKX1kZWxldGUgdC5sbEV2TGlzbnJzfX0sWD1mdW5jdGlvbih0LGUsbil7IWZ1bmN0aW9uKHQpe2RlbGV0ZSB0LmxsVGVtcEltYWdlfSh0KSxFKG4sLTEpLGZ1bmN0aW9uKHQpe3QmJih0LnRvTG9hZENvdW50LT0xKX0obiksXyh0LGUuY2xhc3NfbG9hZGluZyksZS51bm9ic2VydmVfY29tcGxldGVkJiZ3KHQsbil9LFE9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPXkodCl8fHQ7aWYoIVYoaSkpeyFmdW5jdGlvbih0LGUsbil7Vih0KXx8KHQubGxFdkxpc25ycz17fSk7dmFyIGk9IlZJREVPIj09PXQudGFnTmFtZT8ibG9hZGVkZGF0YSI6ImxvYWQiO1UodCxpLGUpLFUodCwiZXJyb3IiLG4pfShpLChmdW5jdGlvbihvKXshZnVuY3Rpb24odCxlLG4saSl7dmFyIG89bShlKTtYKGUsbixpKSxiKGUsbi5jbGFzc19sb2FkZWQpLGYoZSwibG9hZGVkIikseihlLG4pLHYobi5jYWxsYmFja19sb2FkZWQsZSxpKSxvfHxGKG4saSl9KDAsdCxlLG4pLFkoaSl9KSwoZnVuY3Rpb24obyl7IWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciBvPW0oZSk7WChlLG4saSksYihlLG4uY2xhc3NfZXJyb3IpLGYoZSwiZXJyb3IiKSx2KG4uY2FsbGJhY2tfZXJyb3IsZSxpKSxvfHxGKG4saSl9KDAsdCxlLG4pLFkoaSl9KSl9fSxHPWZ1bmN0aW9uKHQsZSxuKXshZnVuY3Rpb24odCl7dC5sbFRlbXBJbWFnZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJJTUciKX0odCksUSh0LGUsbiksZnVuY3Rpb24odCxlLG4pe3ZhciBpPWModCxlLmRhdGFfYmcpLG89Yyh0LGUuZGF0YV9iZ19oaWRwaSkscz1yJiZvP286aTtzJiYodC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9J3VybCgiJy5jb25jYXQocywnIiknKSx5KHQpLnNldEF0dHJpYnV0ZSgic3JjIixzKSxIKHQsZSxuKSl9KHQsZSxuKSxmdW5jdGlvbih0LGUsbil7dmFyIGk9Yyh0LGUuZGF0YV9iZ19tdWx0aSksbz1jKHQsZS5kYXRhX2JnX211bHRpX2hpZHBpKSxzPXImJm8/bzppO3MmJih0LnN0eWxlLmJhY2tncm91bmRJbWFnZT1zLFAodCxlLG4pKX0odCxlLG4pfSxLPWZ1bmN0aW9uKHQsZSxuKXshZnVuY3Rpb24odCl7cmV0dXJuIFIuaW5kZXhPZih0LnRhZ05hbWUpPi0xfSh0KT9HKHQsZSxuKTpmdW5jdGlvbih0LGUsbil7USh0LGUsbiksTSh0LGUpLEgodCxlLG4pfSh0LGUsbil9LFo9ZnVuY3Rpb24odCxlLG4saSl7bi5jYW5jZWxfb25fZXhpdCYmZnVuY3Rpb24odCl7cmV0dXJuImxvYWRpbmciPT09ZCh0KX0odCkmJiJJTUciPT09dC50YWdOYW1lJiYoWSh0KSxmdW5jdGlvbih0KXtEKHQsKGZ1bmN0aW9uKHQpe04odCl9KSksTih0KX0odCksZnVuY3Rpb24odCl7RCh0LChmdW5jdGlvbih0KXtBKHQpfSkpLEEodCl9KHQpLF8odCxuLmNsYXNzX2xvYWRpbmcpLEUoaSwtMSksaCh0KSx2KG4uY2FsbGJhY2tfY2FuY2VsLHQsZSxpKSl9LCQ9ZnVuY3Rpb24odCxlLG4saSl7Zih0LCJlbnRlcmVkIiksZnVuY3Rpb24odCxlLG4pe2UudW5vYnNlcnZlX2VudGVyZWQmJncodCxuKX0odCxuLGkpLHYobi5jYWxsYmFja19lbnRlcix0LGUsaSksZnVuY3Rpb24odCl7cmV0dXJuIGcuaW5kZXhPZihkKHQpKT49MH0odCl8fEsodCxuLGkpfSxKPVsiSU1HIiwiSUZSQU1FIl0sdHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQudXNlX25hdGl2ZSYmImxvYWRpbmciaW4gSFRNTEltYWdlRWxlbWVudC5wcm90b3R5cGV9LGV0PWZ1bmN0aW9uKHQsZSxuKXt0LmZvckVhY2goKGZ1bmN0aW9uKHQpey0xIT09Si5pbmRleE9mKHQudGFnTmFtZSkmJih0LnNldEF0dHJpYnV0ZSgibG9hZGluZyIsImxhenkiKSxmdW5jdGlvbih0LGUsbil7USh0LGUsbiksTSh0LGUpLHoodCxlKSxmKHQsIm5hdGl2ZSIpfSh0LGUsbikpfSkpLEMobiwwKX0sbnQ9ZnVuY3Rpb24odCxlLG4pe3QuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0LmlzSW50ZXJzZWN0aW5nfHx0LmludGVyc2VjdGlvblJhdGlvPjB9KHQpPyQodC50YXJnZXQsdCxlLG4pOmZ1bmN0aW9uKHQsZSxuLGkpe3AodCl8fChaKHQsZSxuLGkpLHYobi5jYWxsYmFja19leGl0LHQsZSxpKSl9KHQudGFyZ2V0LHQsZSxuKX0pKX0saXQ9ZnVuY3Rpb24odCxlKXtpJiYhdHQodCkmJihlLl9vYnNlcnZlcj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGZ1bmN0aW9uKG4pe250KG4sdCxlKX0pLGZ1bmN0aW9uKHQpe3JldHVybntyb290OnQuY29udGFpbmVyPT09ZG9jdW1lbnQ/bnVsbDp0LmNvbnRhaW5lcixyb290TWFyZ2luOnQudGhyZXNob2xkc3x8dC50aHJlc2hvbGQrInB4In19KHQpKSl9LG90PWZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KX0scnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwodC5lbGVtZW50c19zZWxlY3Rvcil9LHN0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4iZXJyb3IiPT09ZCh0KX0odCl9LGF0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBvdCh0KS5maWx0ZXIocCl9KHR8fHJ0KGUpKX0sbHQ9ZnVuY3Rpb24odCxlKXt2YXIgbjsobj1ydCh0KSxvdChuKS5maWx0ZXIoc3QpKS5mb3JFYWNoKChmdW5jdGlvbihlKXtfKGUsdC5jbGFzc19lcnJvciksaChlKX0pKSxlLnVwZGF0ZSgpfSxjdD1mdW5jdGlvbih0LG4pe3ZhciBpPWEodCk7dGhpcy5fc2V0dGluZ3M9aSx0aGlzLmxvYWRpbmdDb3VudD0wLGl0KGksdGhpcyksZnVuY3Rpb24odCxuKXtlJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIiwoZnVuY3Rpb24oKXtsdCh0LG4pfSkpfShpLHRoaXMpLHRoaXMudXBkYXRlKG4pfTtyZXR1cm4gY3QucHJvdG90eXBlPXt1cGRhdGU6ZnVuY3Rpb24odCl7dmFyIGUsbyxyPXRoaXMuX3NldHRpbmdzLHM9YXQodCxyKTsoQyh0aGlzLHMubGVuZ3RoKSwhbiYmaSk/dHQocik/ZXQocyxyLHRoaXMpOihlPXRoaXMuX29ic2VydmVyLG89cyxmdW5jdGlvbih0KXt0LmRpc2Nvbm5lY3QoKX0oZSksZnVuY3Rpb24odCxlKXtlLmZvckVhY2goKGZ1bmN0aW9uKGUpe3Qub2JzZXJ2ZShlKX0pKX0oZSxvKSk6dGhpcy5sb2FkQWxsKHMpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXImJnRoaXMuX29ic2VydmVyLmRpc2Nvbm5lY3QoKSxydCh0aGlzLl9zZXR0aW5ncykuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZGVsZXRlIHQubGxPcmlnaW5hbEF0dHJzfSkpLGRlbGV0ZSB0aGlzLl9vYnNlcnZlcixkZWxldGUgdGhpcy5fc2V0dGluZ3MsZGVsZXRlIHRoaXMubG9hZGluZ0NvdW50LGRlbGV0ZSB0aGlzLnRvTG9hZENvdW50fSxsb2FkQWxsOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLl9zZXR0aW5nczthdCh0LG4pLmZvckVhY2goKGZ1bmN0aW9uKHQpe3codCxlKSxLKHQsbixlKX0pKX19LGN0LmxvYWQ9ZnVuY3Rpb24odCxlKXt2YXIgbj1hKGUpO0sodCxuKX0sY3QucmVzZXRTdGF0dXM9ZnVuY3Rpb24odCl7aCh0KX0sZSYmZnVuY3Rpb24odCxlKXtpZihlKWlmKGUubGVuZ3RoKWZvcih2YXIgbixpPTA7bj1lW2ldO2krPTEpbCh0LG4pO2Vsc2UgbCh0LGUpfShjdCx3aW5kb3cubGF6eUxvYWRPcHRpb25zKSxjdH0pKSxmdW5jdGlvbih0LGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKGUpOiJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKCk6dC5OUHJvZ3Jlc3M9ZSgpfSh0aGlzLChmdW5jdGlvbigpe3ZhciB0LGUsbj17dmVyc2lvbjoiMC4yLjAifSxpPW4uc2V0dGluZ3M9e21pbmltdW06LjA4LGVhc2luZzoiZWFzZSIscG9zaXRpb25Vc2luZzoiIixzcGVlZDoyMDAsdHJpY2tsZTohMCx0cmlja2xlUmF0ZTouMDIsdHJpY2tsZVNwZWVkOjgwMCxzaG93U3Bpbm5lcjohMCxiYXJTZWxlY3RvcjonW3JvbGU9ImJhciJdJyxzcGlubmVyU2VsZWN0b3I6J1tyb2xlPSJzcGlubmVyIl0nLHBhcmVudDoiYm9keSIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9ImJhciIgcm9sZT0iYmFyIj48ZGl2IGNsYXNzPSJwZWciPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNwaW5uZXIiIHJvbGU9InNwaW5uZXIiPjxkaXYgY2xhc3M9InNwaW5uZXItaWNvbiI+PC9kaXY+PC9kaXY+J307ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIHQ8ZT9lOnQ+bj9uOnR9ZnVuY3Rpb24gcih0KXtyZXR1cm4gMTAwKigtMSt0KX1uLmNvbmZpZ3VyZT1mdW5jdGlvbih0KXt2YXIgZSxuO2ZvcihlIGluIHQpdm9pZCAwIT09KG49dFtlXSkmJnQuaGFzT3duUHJvcGVydHkoZSkmJihpW2VdPW4pO3JldHVybiB0aGlzfSxuLnN0YXR1cz1udWxsLG4uc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPW4uaXNTdGFydGVkKCk7dD1vKHQsaS5taW5pbXVtLDEpLG4uc3RhdHVzPTE9PT10P251bGw6dDt2YXIgbD1uLnJlbmRlcighZSksYz1sLnF1ZXJ5U2VsZWN0b3IoaS5iYXJTZWxlY3RvciksdT1pLnNwZWVkLGQ9aS5lYXNpbmc7cmV0dXJuIGwub2Zmc2V0V2lkdGgscygoZnVuY3Rpb24oZSl7IiI9PT1pLnBvc2l0aW9uVXNpbmcmJihpLnBvc2l0aW9uVXNpbmc9bi5nZXRQb3NpdGlvbmluZ0NTUygpKSxhKGMsZnVuY3Rpb24odCxlLG4pe3ZhciBvO289InRyYW5zbGF0ZTNkIj09PWkucG9zaXRpb25Vc2luZz97dHJhbnNmb3JtOiJ0cmFuc2xhdGUzZCgiK3IodCkrIiUsMCwwKSJ9OiJ0cmFuc2xhdGUiPT09aS5wb3NpdGlvblVzaW5nP3t0cmFuc2Zvcm06InRyYW5zbGF0ZSgiK3IodCkrIiUsMCkifTp7Im1hcmdpbi1sZWZ0IjpyKHQpKyIlIn07cmV0dXJuIG8udHJhbnNpdGlvbj0iYWxsICIrZSsibXMgIituLG99KHQsdSxkKSksMT09PXQ/KGEobCx7dHJhbnNpdGlvbjoibm9uZSIsb3BhY2l0eToxfSksbC5vZmZzZXRXaWR0aCxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2EobCx7dHJhbnNpdGlvbjoiYWxsICIrdSsibXMgbGluZWFyIixvcGFjaXR5OjB9KSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe24ucmVtb3ZlKCksZSgpfSksdSl9KSx1KSk6c2V0VGltZW91dChlLHUpfSkpLHRoaXN9LG4uaXNTdGFydGVkPWZ1bmN0aW9uKCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBuLnN0YXR1c30sbi5zdGFydD1mdW5jdGlvbigpe24uc3RhdHVzfHxuLnNldCgwKTt2YXIgdD1mdW5jdGlvbigpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bi5zdGF0dXMmJihuLnRyaWNrbGUoKSx0KCkpfSksaS50cmlja2xlU3BlZWQpfTtyZXR1cm4gaS50cmlja2xlJiZ0KCksdGhpc30sbi5kb25lPWZ1bmN0aW9uKHQpe3JldHVybiB0fHxuLnN0YXR1cz9uLmluYyguMysuNSpNYXRoLnJhbmRvbSgpKS5zZXQoMSk6dGhpc30sbi5pbmM9ZnVuY3Rpb24odCl7dmFyIGU9bi5zdGF0dXM7cmV0dXJuIGU/KCJudW1iZXIiIT10eXBlb2YgdCYmKHQ9KDEtZSkqbyhNYXRoLnJhbmRvbSgpKmUsLjEsLjk1KSksZT1vKGUrdCwwLC45OTQpLG4uc2V0KGUpKTpuLnN0YXJ0KCl9LG4udHJpY2tsZT1mdW5jdGlvbigpe3JldHVybiBuLmluYyhNYXRoLnJhbmRvbSgpKmkudHJpY2tsZVJhdGUpfSx0PTAsZT0wLG4ucHJvbWlzZT1mdW5jdGlvbihpKXtyZXR1cm4gaSYmInJlc29sdmVkIiE9PWkuc3RhdGUoKT8oMD09PWUmJm4uc3RhcnQoKSx0KyssZSsrLGkuYWx3YXlzKChmdW5jdGlvbigpezA9PS0tZT8odD0wLG4uZG9uZSgpKTpuLnNldCgodC1lKS90KX0pKSx0aGlzKTp0aGlzfSxuLnJlbmRlcj1mdW5jdGlvbih0KXtpZihuLmlzUmVuZGVyZWQoKSlyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5wcm9ncmVzcyIpO2MoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCJucHJvZ3Jlc3MtYnVzeSIpO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2UuaWQ9Im5wcm9ncmVzcyIsZS5pbm5lckhUTUw9aS50ZW1wbGF0ZTt2YXIgbyxzPWUucXVlcnlTZWxlY3RvcihpLmJhclNlbGVjdG9yKSxsPXQ/Ii0xMDAiOnIobi5zdGF0dXN8fDApLHU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihpLnBhcmVudCk7cmV0dXJuIGEocyx7dHJhbnNpdGlvbjoiYWxsIDAgbGluZWFyIix0cmFuc2Zvcm06InRyYW5zbGF0ZTNkKCIrbCsiJSwwLDApIn0pLGkuc2hvd1NwaW5uZXJ8fChvPWUucXVlcnlTZWxlY3RvcihpLnNwaW5uZXJTZWxlY3RvcikpJiZmKG8pLHUhPWRvY3VtZW50LmJvZHkmJmModSwibnByb2dyZXNzLWN1c3RvbS1wYXJlbnQiKSx1LmFwcGVuZENoaWxkKGUpLGV9LG4ucmVtb3ZlPWZ1bmN0aW9uKCl7dShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIm5wcm9ncmVzcy1idXN5IiksdShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGkucGFyZW50KSwibnByb2dyZXNzLWN1c3RvbS1wYXJlbnQiKTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibnByb2dyZXNzIik7dCYmZih0KX0sbi5pc1JlbmRlcmVkPWZ1bmN0aW9uKCl7cmV0dXJuISFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibnByb2dyZXNzIil9LG4uZ2V0UG9zaXRpb25pbmdDU1M9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5ib2R5LnN0eWxlLGU9IldlYmtpdFRyYW5zZm9ybSJpbiB0PyJXZWJraXQiOiJNb3pUcmFuc2Zvcm0iaW4gdD8iTW96IjoibXNUcmFuc2Zvcm0iaW4gdD8ibXMiOiJPVHJhbnNmb3JtImluIHQ/Ik8iOiIiO3JldHVybiBlKyJQZXJzcGVjdGl2ZSJpbiB0PyJ0cmFuc2xhdGUzZCI6ZSsiVHJhbnNmb3JtImluIHQ/InRyYW5zbGF0ZSI6Im1hcmdpbiJ9O3ZhciBzPWZ1bmN0aW9uKCl7dmFyIHQ9W107ZnVuY3Rpb24gZSgpe3ZhciBuPXQuc2hpZnQoKTtuJiZuKGUpfXJldHVybiBmdW5jdGlvbihuKXt0LnB1c2gobiksMT09dC5sZW5ndGgmJmUoKX19KCksYT1mdW5jdGlvbigpe3ZhciB0PVsiV2Via2l0IiwiTyIsIk1veiIsIm1zIl0sZT17fTtmdW5jdGlvbiBuKG4pe3JldHVybiBuPW4ucmVwbGFjZSgvXi1tcy0vLCJtcy0iKS5yZXBsYWNlKC8tKFtcZGEtel0pL2dpLChmdW5jdGlvbih0LGUpe3JldHVybiBlLnRvVXBwZXJDYXNlKCl9KSksZVtuXXx8KGVbbl09ZnVuY3Rpb24oZSl7dmFyIG49ZG9jdW1lbnQuYm9keS5zdHlsZTtpZihlIGluIG4pcmV0dXJuIGU7Zm9yKHZhciBpLG89dC5sZW5ndGgscj1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSk7by0tOylpZigoaT10W29dK3IpaW4gbilyZXR1cm4gaTtyZXR1cm4gZX0obikpfWZ1bmN0aW9uIGkodCxlLGkpe2U9bihlKSx0LnN0eWxlW2VdPWl9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7dmFyIG4sbyxyPWFyZ3VtZW50cztpZigyPT1yLmxlbmd0aClmb3IobiBpbiBlKXZvaWQgMCE9PShvPWVbbl0pJiZlLmhhc093blByb3BlcnR5KG4pJiZpKHQsbixvKTtlbHNlIGkodCxyWzFdLHJbMl0pfX0oKTtmdW5jdGlvbiBsKHQsZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgdD90OmQodCkpLmluZGV4T2YoIiAiK2UrIiAiKT49MH1mdW5jdGlvbiBjKHQsZSl7dmFyIG49ZCh0KSxpPW4rZTtsKG4sZSl8fCh0LmNsYXNzTmFtZT1pLnN1YnN0cmluZygxKSl9ZnVuY3Rpb24gdSh0LGUpe3ZhciBuLGk9ZCh0KTtsKHQsZSkmJihuPWkucmVwbGFjZSgiICIrZSsiICIsIiAiKSx0LmNsYXNzTmFtZT1uLnN1YnN0cmluZygxLG4ubGVuZ3RoLTEpKX1mdW5jdGlvbiBkKHQpe3JldHVybigiICIrKHQuY2xhc3NOYW1lfHwiIikrIiAiKS5yZXBsYWNlKC9ccysvZ2ksIiAiKX1mdW5jdGlvbiBmKHQpe3QmJnQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpfXJldHVybiBufSkpLAovKiEKICogVG9hc3RpZnkganMgMS45LjEKICogaHR0cHM6Ly9naXRodWIuY29tL2FwdmFydW4vdG9hc3RpZnktanMKICogQGxpY2Vuc2UgTUlUIGxpY2Vuc2VkCiAqCiAqIENvcHlyaWdodCAoQykgMjAxOCBWYXJ1biBBIFAKICovCmZ1bmN0aW9uKHQsZSl7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUoKTp0LlRvYXN0aWZ5PWUoKX0odGhpcywoZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBlLmxpYi5pbml0KHQpfTtmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIGUub2Zmc2V0W3RdP2lzTmFOKGUub2Zmc2V0W3RdKT9lLm9mZnNldFt0XTplLm9mZnNldFt0XSsicHgiOiIwcHgifWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4hKCF0fHwic3RyaW5nIiE9dHlwZW9mIGUpJiYhISh0LmNsYXNzTmFtZSYmdC5jbGFzc05hbWUudHJpbSgpLnNwbGl0KC9ccysvZ2kpLmluZGV4T2YoZSk+LTEpfXJldHVybiBlLmxpYj1lLnByb3RvdHlwZT17dG9hc3RpZnk6IjEuOS4xIixjb25zdHJ1Y3RvcjplLGluaXQ6ZnVuY3Rpb24odCl7dHx8KHQ9e30pLHRoaXMub3B0aW9ucz17fSx0aGlzLnRvYXN0RWxlbWVudD1udWxsLHRoaXMub3B0aW9ucy50ZXh0PXQudGV4dHx8IkhpIHRoZXJlISIsdGhpcy5vcHRpb25zLm5vZGU9dC5ub2RlLHRoaXMub3B0aW9ucy5kdXJhdGlvbj0wPT09dC5kdXJhdGlvbj8wOnQuZHVyYXRpb258fDNlMyx0aGlzLm9wdGlvbnMuc2VsZWN0b3I9dC5zZWxlY3Rvcix0aGlzLm9wdGlvbnMuY2FsbGJhY2s9dC5jYWxsYmFja3x8ZnVuY3Rpb24oKXt9LHRoaXMub3B0aW9ucy5kZXN0aW5hdGlvbj10LmRlc3RpbmF0aW9uLHRoaXMub3B0aW9ucy5uZXdXaW5kb3c9dC5uZXdXaW5kb3d8fCExLHRoaXMub3B0aW9ucy5jbG9zZT10LmNsb3NlfHwhMSx0aGlzLm9wdGlvbnMuZ3Jhdml0eT0iYm90dG9tIj09PXQuZ3Jhdml0eT8idG9hc3RpZnktYm90dG9tIjoidG9hc3RpZnktdG9wIix0aGlzLm9wdGlvbnMucG9zaXRpb25MZWZ0PXQucG9zaXRpb25MZWZ0fHwhMSx0aGlzLm9wdGlvbnMucG9zaXRpb249dC5wb3NpdGlvbnx8IiIsdGhpcy5vcHRpb25zLmJhY2tncm91bmRDb2xvcj10LmJhY2tncm91bmRDb2xvcix0aGlzLm9wdGlvbnMuYXZhdGFyPXQuYXZhdGFyfHwiIix0aGlzLm9wdGlvbnMuY2xhc3NOYW1lPXQuY2xhc3NOYW1lfHwiIix0aGlzLm9wdGlvbnMuc3RvcE9uRm9jdXM9dm9pZCAwPT09dC5zdG9wT25Gb2N1c3x8dC5zdG9wT25Gb2N1cyx0aGlzLm9wdGlvbnMub25DbGljaz10Lm9uQ2xpY2s7cmV0dXJuIHRoaXMub3B0aW9ucy5vZmZzZXQ9dC5vZmZzZXR8fHt4OjAseTowfSx0aGlzfSxidWlsZFRvYXN0OmZ1bmN0aW9uKCl7aWYoIXRoaXMub3B0aW9ucyl0aHJvdyJUb2FzdGlmeSBpcyBub3QgaW5pdGlhbGl6ZWQiO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKHQuY2xhc3NOYW1lPSJ0b2FzdGlmeSBvbiAiK3RoaXMub3B0aW9ucy5jbGFzc05hbWUsdGhpcy5vcHRpb25zLnBvc2l0aW9uP3QuY2xhc3NOYW1lKz0iIHRvYXN0aWZ5LSIrdGhpcy5vcHRpb25zLnBvc2l0aW9uOiEwPT09dGhpcy5vcHRpb25zLnBvc2l0aW9uTGVmdD8odC5jbGFzc05hbWUrPSIgdG9hc3RpZnktbGVmdCIsY29uc29sZS53YXJuKCJQcm9wZXJ0eSBgcG9zaXRpb25MZWZ0YCB3aWxsIGJlIGRlcHJlY2lhdGVkIGluIGZ1cnRoZXIgdmVyc2lvbnMuIFBsZWFzZSB1c2UgYHBvc2l0aW9uYCBpbnN0ZWFkLiIpKTp0LmNsYXNzTmFtZSs9IiB0b2FzdGlmeS1yaWdodCIsdC5jbGFzc05hbWUrPSIgIit0aGlzLm9wdGlvbnMuZ3Jhdml0eSx0aGlzLm9wdGlvbnMuYmFja2dyb3VuZENvbG9yJiYodC5zdHlsZS5iYWNrZ3JvdW5kPXRoaXMub3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3IpLHRoaXMub3B0aW9ucy5ub2RlJiZ0aGlzLm9wdGlvbnMubm9kZS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXQuYXBwZW5kQ2hpbGQodGhpcy5vcHRpb25zLm5vZGUpO2Vsc2UgaWYodC5pbm5lckhUTUw9dGhpcy5vcHRpb25zLnRleHQsIiIhPT10aGlzLm9wdGlvbnMuYXZhdGFyKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtlLnNyYz10aGlzLm9wdGlvbnMuYXZhdGFyLGUuY2xhc3NOYW1lPSJ0b2FzdGlmeS1hdmF0YXIiLCJsZWZ0Ij09dGhpcy5vcHRpb25zLnBvc2l0aW9ufHwhMD09PXRoaXMub3B0aW9ucy5wb3NpdGlvbkxlZnQ/dC5hcHBlbmRDaGlsZChlKTp0Lmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJiZWdpbiIsZSl9aWYoITA9PT10aGlzLm9wdGlvbnMuY2xvc2Upe3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtpLmlubmVySFRNTD0iJiMxMDAwNjsiLGkuY2xhc3NOYW1lPSJ0b2FzdC1jbG9zZSIsaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odCl7dC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnJlbW92ZUVsZW1lbnQodGhpcy50b2FzdEVsZW1lbnQpLHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy50b2FzdEVsZW1lbnQudGltZU91dFZhbHVlKX0uYmluZCh0aGlzKSk7dmFyIG89d2luZG93LmlubmVyV2lkdGg+MD93aW5kb3cuaW5uZXJXaWR0aDpzY3JlZW4ud2lkdGg7KCJsZWZ0Ij09dGhpcy5vcHRpb25zLnBvc2l0aW9ufHwhMD09PXRoaXMub3B0aW9ucy5wb3NpdGlvbkxlZnQpJiZvPjM2MD90Lmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJiZWdpbiIsaSk6dC5hcHBlbmRDaGlsZChpKX1pZih0aGlzLm9wdGlvbnMuc3RvcE9uRm9jdXMmJnRoaXMub3B0aW9ucy5kdXJhdGlvbj4wKXtjb25zdCBlPXRoaXM7dC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLChmdW5jdGlvbihlKXt3aW5kb3cuY2xlYXJUaW1lb3V0KHQudGltZU91dFZhbHVlKX0pKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLChmdW5jdGlvbigpe3QudGltZU91dFZhbHVlPXdpbmRvdy5zZXRUaW1lb3V0KChmdW5jdGlvbigpe2UucmVtb3ZlRWxlbWVudCh0KX0pLGUub3B0aW9ucy5kdXJhdGlvbil9KSl9aWYodm9pZCAwIT09dGhpcy5vcHRpb25zLmRlc3RpbmF0aW9uJiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXt0LnN0b3BQcm9wYWdhdGlvbigpLCEwPT09dGhpcy5vcHRpb25zLm5ld1dpbmRvdz93aW5kb3cub3Blbih0aGlzLm9wdGlvbnMuZGVzdGluYXRpb24sIl9ibGFuayIpOndpbmRvdy5sb2NhdGlvbj10aGlzLm9wdGlvbnMuZGVzdGluYXRpb259LmJpbmQodGhpcykpLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm9wdGlvbnMub25DbGljayYmdm9pZCAwPT09dGhpcy5vcHRpb25zLmRlc3RpbmF0aW9uJiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXt0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMub3B0aW9ucy5vbkNsaWNrKCl9LmJpbmQodGhpcykpLCJvYmplY3QiPT10eXBlb2YgdGhpcy5vcHRpb25zLm9mZnNldCl7dmFyIHI9bigieCIsdGhpcy5vcHRpb25zKSxzPW4oInkiLHRoaXMub3B0aW9ucyk7Y29uc3QgZT0ibGVmdCI9PXRoaXMub3B0aW9ucy5wb3NpdGlvbj9yOiItIityLGk9InRvYXN0aWZ5LXRvcCI9PXRoaXMub3B0aW9ucy5ncmF2aXR5P3M6Ii0iK3M7dC5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke2V9LCAke2l9KWB9cmV0dXJuIHR9LHNob3dUb2FzdDpmdW5jdGlvbigpe3ZhciB0O2lmKHRoaXMudG9hc3RFbGVtZW50PXRoaXMuYnVpbGRUb2FzdCgpLCEodD12b2lkIDA9PT10aGlzLm9wdGlvbnMuc2VsZWN0b3I/ZG9jdW1lbnQuYm9keTpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLm9wdGlvbnMuc2VsZWN0b3IpKSl0aHJvdyJSb290IGVsZW1lbnQgaXMgbm90IGRlZmluZWQiO3JldHVybiB0Lmluc2VydEJlZm9yZSh0aGlzLnRvYXN0RWxlbWVudCx0LmZpcnN0Q2hpbGQpLGUucmVwb3NpdGlvbigpLHRoaXMub3B0aW9ucy5kdXJhdGlvbj4wJiYodGhpcy50b2FzdEVsZW1lbnQudGltZU91dFZhbHVlPXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVFbGVtZW50KHRoaXMudG9hc3RFbGVtZW50KX0uYmluZCh0aGlzKSx0aGlzLm9wdGlvbnMuZHVyYXRpb24pKSx0aGlzfSxoaWRlVG9hc3Q6ZnVuY3Rpb24oKXt0aGlzLnRvYXN0RWxlbWVudC50aW1lT3V0VmFsdWUmJmNsZWFyVGltZW91dCh0aGlzLnRvYXN0RWxlbWVudC50aW1lT3V0VmFsdWUpLHRoaXMucmVtb3ZlRWxlbWVudCh0aGlzLnRvYXN0RWxlbWVudCl9LHJlbW92ZUVsZW1lbnQ6ZnVuY3Rpb24odCl7dC5jbGFzc05hbWU9dC5jbGFzc05hbWUucmVwbGFjZSgiIG9uIiwiIiksd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMubm9kZSYmdGhpcy5vcHRpb25zLm5vZGUucGFyZW50Tm9kZSYmdGhpcy5vcHRpb25zLm5vZGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLm9wdGlvbnMubm9kZSksdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksdGhpcy5vcHRpb25zLmNhbGxiYWNrLmNhbGwodCksZS5yZXBvc2l0aW9uKCl9LmJpbmQodGhpcyksNDAwKX19LGUucmVwb3NpdGlvbj1mdW5jdGlvbigpe2Zvcih2YXIgdCxlPXt0b3A6MTUsYm90dG9tOjE1fSxuPXt0b3A6MTUsYm90dG9tOjE1fSxvPXt0b3A6MTUsYm90dG9tOjE1fSxyPWRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInRvYXN0aWZ5Iikscz0wO3M8ci5sZW5ndGg7cysrKXt0PSEwPT09aShyW3NdLCJ0b2FzdGlmeS10b3AiKT8idG9hc3RpZnktdG9wIjoidG9hc3RpZnktYm90dG9tIjt2YXIgYT1yW3NdLm9mZnNldEhlaWdodDt0PXQuc3Vic3RyKDksdC5sZW5ndGgtMSk7KHdpbmRvdy5pbm5lcldpZHRoPjA/d2luZG93LmlubmVyV2lkdGg6c2NyZWVuLndpZHRoKTw9MzYwPyhyW3NdLnN0eWxlW3RdPW9bdF0rInB4IixvW3RdKz1hKzE1KTohMD09PWkocltzXSwidG9hc3RpZnktbGVmdCIpPyhyW3NdLnN0eWxlW3RdPWVbdF0rInB4IixlW3RdKz1hKzE1KToocltzXS5zdHlsZVt0XT1uW3RdKyJweCIsblt0XSs9YSsxNSl9cmV0dXJuIHRoaXN9LGUubGliLmluaXQucHJvdG90eXBlPWUubGliLGV9KSksZnVuY3Rpb24odCl7dmFyIGU9e307ZnVuY3Rpb24gbihpKXtpZihlW2ldKXJldHVybiBlW2ldLmV4cG9ydHM7dmFyIG89ZVtpXT17aTppLGw6ITEsZXhwb3J0czp7fX07cmV0dXJuIHRbaV0uY2FsbChvLmV4cG9ydHMsbyxvLmV4cG9ydHMsbiksby5sPSEwLG8uZXhwb3J0c31uLm09dCxuLmM9ZSxuLmQ9ZnVuY3Rpb24odCxlLGkpe24ubyh0LGUpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHtlbnVtZXJhYmxlOiEwLGdldDppfSl9LG4ucj1mdW5jdGlvbih0KXsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSxuLnQ9ZnVuY3Rpb24odCxlKXtpZigxJmUmJih0PW4odCkpLDgmZSlyZXR1cm4gdDtpZig0JmUmJiJvYmplY3QiPT10eXBlb2YgdCYmdCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBpPU9iamVjdC5jcmVhdGUobnVsbCk7aWYobi5yKGkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTp0fSksMiZlJiYic3RyaW5nIiE9dHlwZW9mIHQpZm9yKHZhciBvIGluIHQpbi5kKGksbyxmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0uYmluZChudWxsLG8pKTtyZXR1cm4gaX0sbi5uPWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiB0LmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIHR9O3JldHVybiBuLmQoZSwiYSIsZSksZX0sbi5vPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfSxuLnA9IiIsbihuLnM9MCl9KFtmdW5jdGlvbih0LGUsbil7KGZ1bmN0aW9uKGkpe3ZhciBvLHIsczshZnVuY3Rpb24oaSxhKXtyPVtdLG89ZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3ZhciBlLGksbyxyPW4oMikscz17fSxhPXt9LGw9bigzKSxjPW4oNCksdT1uKDUpLGQ9ISEodCYmdC5kb2N1bWVudCYmdC5kb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZ0LmFkZEV2ZW50TGlzdGVuZXIpO2lmKCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93fHxkKXt2YXIgZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3JldHVybiBhLmRlc3Ryb3k9ZnVuY3Rpb24oKXtpZighcy5za2lwUmVuZGVyaW5nKXRyeXtkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHMudG9jU2VsZWN0b3IpLmlubmVySFRNTD0iIn1jYXRjaCh0KXtjb25zb2xlLndhcm4oIkVsZW1lbnQgbm90IGZvdW5kOiAiK3MudG9jU2VsZWN0b3IpfXMuc2Nyb2xsQ29udGFpbmVyJiZkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHMuc2Nyb2xsQ29udGFpbmVyKT8oZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzLnNjcm9sbENvbnRhaW5lcikucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9zY3JvbGxMaXN0ZW5lciwhMSksZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzLnNjcm9sbENvbnRhaW5lcikucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9zY3JvbGxMaXN0ZW5lciwhMSksZSYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzLnNjcm9sbENvbnRhaW5lcikucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX2NsaWNrTGlzdGVuZXIsITEpKTooZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9zY3JvbGxMaXN0ZW5lciwhMSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9zY3JvbGxMaXN0ZW5lciwhMSksZSYmZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX2NsaWNrTGlzdGVuZXIsITEpKX0sYS5pbml0PWZ1bmN0aW9uKHQpe2lmKGQmJihzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXt9LGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgbj1hcmd1bWVudHNbZV07Zm9yKHZhciBpIGluIG4pZi5jYWxsKG4saSkmJih0W2ldPW5baV0pfXJldHVybiB0fShyLHR8fHt9KSx0aGlzLm9wdGlvbnM9cyx0aGlzLnN0YXRlPXt9LHMuc2Nyb2xsU21vb3RoJiYocy5kdXJhdGlvbj1zLnNjcm9sbFNtb290aER1cmF0aW9uLHMub2Zmc2V0PXMuc2Nyb2xsU21vb3RoT2Zmc2V0LGEuc2Nyb2xsU21vb3RoPW4oNikuaW5pdFNtb290aFNjcm9sbGluZyhzKSksZT1sKHMpLGk9YyhzKSx0aGlzLl9idWlsZEh0bWw9ZSx0aGlzLl9wYXJzZUNvbnRlbnQ9aSxhLmRlc3Ryb3koKSxudWxsIT09KG89aS5zZWxlY3RIZWFkaW5ncyhzLmNvbnRlbnRTZWxlY3RvcixzLmhlYWRpbmdTZWxlY3RvcikpKSl7dmFyIHA9aS5uZXN0SGVhZGluZ3NBcnJheShvKS5uZXN0O3Muc2tpcFJlbmRlcmluZ3x8ZS5yZW5kZXIocy50b2NTZWxlY3RvcixwKSx0aGlzLl9zY3JvbGxMaXN0ZW5lcj1oKChmdW5jdGlvbih0KXtlLnVwZGF0ZVRvYyhvKSwhcy5kaXNhYmxlVG9jU2Nyb2xsU3luYyYmdShzKTt2YXIgbj10JiZ0LnRhcmdldCYmdC50YXJnZXQuc2Nyb2xsaW5nRWxlbWVudCYmMD09PXQudGFyZ2V0LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOyh0JiYoMD09PXQuZXZlbnRQaGFzZXx8bnVsbD09PXQuY3VycmVudFRhcmdldCl8fG4pJiYoZS51cGRhdGVUb2Mobykscy5zY3JvbGxFbmRDYWxsYmFjayYmcy5zY3JvbGxFbmRDYWxsYmFjayh0KSl9KSxzLnRocm90dGxlVGltZW91dCksdGhpcy5fc2Nyb2xsTGlzdGVuZXIoKSxzLnNjcm9sbENvbnRhaW5lciYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzLnNjcm9sbENvbnRhaW5lcik/KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iocy5zY3JvbGxDb250YWluZXIpLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5fc2Nyb2xsTGlzdGVuZXIsITEpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iocy5zY3JvbGxDb250YWluZXIpLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fc2Nyb2xsTGlzdGVuZXIsITEpKTooZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9zY3JvbGxMaXN0ZW5lciwhMSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9zY3JvbGxMaXN0ZW5lciwhMSkpO3ZhciBtPW51bGw7cmV0dXJuIHRoaXMuX2NsaWNrTGlzdGVuZXI9aCgoZnVuY3Rpb24odCl7cy5zY3JvbGxTbW9vdGgmJmUuZGlzYWJsZVRvY0FuaW1hdGlvbih0KSxlLnVwZGF0ZVRvYyhvKSxtJiZjbGVhclRpbWVvdXQobSksbT1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2UuZW5hYmxlVG9jQW5pbWF0aW9uKCl9KSxzLnNjcm9sbFNtb290aER1cmF0aW9uKX0pLHMudGhyb3R0bGVUaW1lb3V0KSxzLnNjcm9sbENvbnRhaW5lciYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzLnNjcm9sbENvbnRhaW5lcik/ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzLnNjcm9sbENvbnRhaW5lcikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX2NsaWNrTGlzdGVuZXIsITEpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl9jbGlja0xpc3RlbmVyLCExKSx0aGlzfX0sYS5yZWZyZXNoPWZ1bmN0aW9uKHQpe2EuZGVzdHJveSgpLGEuaW5pdCh0fHx0aGlzLm9wdGlvbnMpfSx0LnRvY2JvdD1hLGF9ZnVuY3Rpb24gaCh0LGUsbil7dmFyIGksbztyZXR1cm4gZXx8KGU9MjUwKSxmdW5jdGlvbigpe3ZhciByPW58fHRoaXMscz0rbmV3IERhdGUsYT1hcmd1bWVudHM7aSYmczxpK2U/KGNsZWFyVGltZW91dChvKSxvPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aT1zLHQuYXBwbHkocixhKX0pLGUpKTooaT1zLHQuYXBwbHkocixhKSl9fX0oaSksdm9pZCAwPT09KHM9ImZ1bmN0aW9uIj09dHlwZW9mIG8/by5hcHBseShlLHIpOm8pfHwodC5leHBvcnRzPXMpfSh2b2lkIDAhPT1pP2k6dGhpcy53aW5kb3d8fHRoaXMuZ2xvYmFsKX0pLmNhbGwodGhpcyxuKDEpKX0sZnVuY3Rpb24odCxlKXt2YXIgbjtuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCk7dHJ5e249bnx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKXx8KDAsZXZhbCkoInRoaXMiKX1jYXRjaCh0KXsib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmKG49d2luZG93KX10LmV4cG9ydHM9bn0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9e3RvY1NlbGVjdG9yOiIuanMtdG9jIixjb250ZW50U2VsZWN0b3I6Ii5qcy10b2MtY29udGVudCIsaGVhZGluZ1NlbGVjdG9yOiJoMSwgaDIsIGgzIixpZ25vcmVTZWxlY3RvcjoiLmpzLXRvYy1pZ25vcmUiLGhhc0lubmVyQ29udGFpbmVyczohMSxsaW5rQ2xhc3M6InRvYy1saW5rIixleHRyYUxpbmtDbGFzc2VzOiIiLGFjdGl2ZUxpbmtDbGFzczoiaXMtYWN0aXZlLWxpbmsiLGxpc3RDbGFzczoidG9jLWxpc3QiLGV4dHJhTGlzdENsYXNzZXM6IiIsaXNDb2xsYXBzZWRDbGFzczoiaXMtY29sbGFwc2VkIixjb2xsYXBzaWJsZUNsYXNzOiJpcy1jb2xsYXBzaWJsZSIsbGlzdEl0ZW1DbGFzczoidG9jLWxpc3QtaXRlbSIsYWN0aXZlTGlzdEl0ZW1DbGFzczoiaXMtYWN0aXZlLWxpIixjb2xsYXBzZURlcHRoOjAsc2Nyb2xsU21vb3RoOiEwLHNjcm9sbFNtb290aER1cmF0aW9uOjQyMCxzY3JvbGxTbW9vdGhPZmZzZXQ6MCxzY3JvbGxFbmRDYWxsYmFjazpmdW5jdGlvbih0KXt9LGhlYWRpbmdzT2Zmc2V0OjEsdGhyb3R0bGVUaW1lb3V0OjUwLHBvc2l0aW9uRml4ZWRTZWxlY3RvcjpudWxsLHBvc2l0aW9uRml4ZWRDbGFzczoiaXMtcG9zaXRpb24tZml4ZWQiLGZpeGVkU2lkZWJhck9mZnNldDoiYXV0byIsaW5jbHVkZUh0bWw6ITEsb25DbGljazpmdW5jdGlvbih0KXt9LG9yZGVyZWRMaXN0OiEwLHNjcm9sbENvbnRhaW5lcjpudWxsLHNraXBSZW5kZXJpbmc6ITEsaGVhZGluZ0xhYmVsQ2FsbGJhY2s6ITEsaWdub3JlSGlkZGVuRWxlbWVudHM6ITEsaGVhZGluZ09iamVjdENhbGxiYWNrOm51bGwsYmFzZVBhdGg6IiIsZGlzYWJsZVRvY1Njcm9sbFN5bmM6ITF9fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1bXS5mb3JFYWNoLG49W10uc29tZSxpPWRvY3VtZW50LmJvZHksbz0hMCxyPSIgIjtmdW5jdGlvbiBzKG4saSl7dmFyIG89aS5hcHBlbmRDaGlsZChmdW5jdGlvbihuKXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpLG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3JldHVybiB0Lmxpc3RJdGVtQ2xhc3MmJmkuc2V0QXR0cmlidXRlKCJjbGFzcyIsdC5saXN0SXRlbUNsYXNzKSx0Lm9uQ2xpY2smJihvLm9uY2xpY2s9dC5vbkNsaWNrKSx0LmluY2x1ZGVIdG1sJiZuLmNoaWxkTm9kZXMubGVuZ3RoP2UuY2FsbChuLmNoaWxkTm9kZXMsKGZ1bmN0aW9uKHQpe28uYXBwZW5kQ2hpbGQodC5jbG9uZU5vZGUoITApKX0pKTpvLnRleHRDb250ZW50PW4udGV4dENvbnRlbnQsby5zZXRBdHRyaWJ1dGUoImhyZWYiLHQuYmFzZVBhdGgrIiMiK24uaWQpLG8uc2V0QXR0cmlidXRlKCJjbGFzcyIsdC5saW5rQ2xhc3Mrcisibm9kZS1uYW1lLS0iK24ubm9kZU5hbWUrcit0LmV4dHJhTGlua0NsYXNzZXMpLGkuYXBwZW5kQ2hpbGQobyksaX0obikpO2lmKG4uY2hpbGRyZW4ubGVuZ3RoKXt2YXIgbD1hKG4uaXNDb2xsYXBzZWQpO24uY2hpbGRyZW4uZm9yRWFjaCgoZnVuY3Rpb24odCl7cyh0LGwpfSkpLG8uYXBwZW5kQ2hpbGQobCl9fWZ1bmN0aW9uIGEoZSl7dmFyIG49dC5vcmRlcmVkTGlzdD8ib2wiOiJ1bCIsaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KG4pLG89dC5saXN0Q2xhc3Mrcit0LmV4dHJhTGlzdENsYXNzZXM7cmV0dXJuIGUmJihvKz1yK3QuY29sbGFwc2libGVDbGFzcyxvKz1yK3QuaXNDb2xsYXBzZWRDbGFzcyksaS5zZXRBdHRyaWJ1dGUoImNsYXNzIixvKSxpfXJldHVybntlbmFibGVUb2NBbmltYXRpb246ZnVuY3Rpb24oKXtvPSEwfSxkaXNhYmxlVG9jQW5pbWF0aW9uOmZ1bmN0aW9uKGUpe3ZhciBuPWUudGFyZ2V0fHxlLnNyY0VsZW1lbnQ7InN0cmluZyI9PXR5cGVvZiBuLmNsYXNzTmFtZSYmLTEhPT1uLmNsYXNzTmFtZS5pbmRleE9mKHQubGlua0NsYXNzKSYmKG89ITEpfSxyZW5kZXI6ZnVuY3Rpb24odCxlKXt2YXIgbj1hKCExKTtlLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ModCxuKX0pKTt2YXIgaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpO2lmKG51bGwhPT1pKXJldHVybiBpLmZpcnN0Q2hpbGQmJmkucmVtb3ZlQ2hpbGQoaS5maXJzdENoaWxkKSwwPT09ZS5sZW5ndGg/aTppLmFwcGVuZENoaWxkKG4pfSx1cGRhdGVUb2M6ZnVuY3Rpb24ocyl7dmFyIGE7YT10LnNjcm9sbENvbnRhaW5lciYmZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0LnNjcm9sbENvbnRhaW5lcik/ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0LnNjcm9sbENvbnRhaW5lcikuc2Nyb2xsVG9wOmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGkuc2Nyb2xsVG9wLHQucG9zaXRpb25GaXhlZFNlbGVjdG9yJiZmdW5jdGlvbigpe3ZhciBlO2U9dC5zY3JvbGxDb250YWluZXImJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodC5zY3JvbGxDb250YWluZXIpP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodC5zY3JvbGxDb250YWluZXIpLnNjcm9sbFRvcDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxpLnNjcm9sbFRvcDt2YXIgbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQucG9zaXRpb25GaXhlZFNlbGVjdG9yKTsiYXV0byI9PT10LmZpeGVkU2lkZWJhck9mZnNldCYmKHQuZml4ZWRTaWRlYmFyT2Zmc2V0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodC50b2NTZWxlY3Rvcikub2Zmc2V0VG9wKSxlPnQuZml4ZWRTaWRlYmFyT2Zmc2V0Py0xPT09bi5jbGFzc05hbWUuaW5kZXhPZih0LnBvc2l0aW9uRml4ZWRDbGFzcykmJihuLmNsYXNzTmFtZSs9cit0LnBvc2l0aW9uRml4ZWRDbGFzcyk6bi5jbGFzc05hbWU9bi5jbGFzc05hbWUuc3BsaXQocit0LnBvc2l0aW9uRml4ZWRDbGFzcykuam9pbigiIil9KCk7dmFyIGwsYz1zO2lmKG8mJm51bGwhPT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQudG9jU2VsZWN0b3IpJiZjLmxlbmd0aD4wKXtuLmNhbGwoYywoZnVuY3Rpb24oZSxuKXtyZXR1cm4gZnVuY3Rpb24gZShuKXt2YXIgaT0wO3JldHVybiBuIT09ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0LmNvbnRlbnRTZWxlY3RvciYmbnVsbCE9bikmJihpPW4ub2Zmc2V0VG9wLHQuaGFzSW5uZXJDb250YWluZXJzJiYoaSs9ZShuLm9mZnNldFBhcmVudCkpKSxpfShlKT5hK3QuaGVhZGluZ3NPZmZzZXQrMTA/KGw9Y1swPT09bj9uOm4tMV0sITApOm49PT1jLmxlbmd0aC0xPyhsPWNbYy5sZW5ndGgtMV0sITApOnZvaWQgMH0pKTt2YXIgdT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQudG9jU2VsZWN0b3IpLnF1ZXJ5U2VsZWN0b3JBbGwoIi4iK3QubGlua0NsYXNzKTtlLmNhbGwodSwoZnVuY3Rpb24oZSl7ZS5jbGFzc05hbWU9ZS5jbGFzc05hbWUuc3BsaXQocit0LmFjdGl2ZUxpbmtDbGFzcykuam9pbigiIil9KSk7dmFyIGQ9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0LnRvY1NlbGVjdG9yKS5xdWVyeVNlbGVjdG9yQWxsKCIuIit0Lmxpc3RJdGVtQ2xhc3MpO2UuY2FsbChkLChmdW5jdGlvbihlKXtlLmNsYXNzTmFtZT1lLmNsYXNzTmFtZS5zcGxpdChyK3QuYWN0aXZlTGlzdEl0ZW1DbGFzcykuam9pbigiIil9KSk7dmFyIGY9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0LnRvY1NlbGVjdG9yKS5xdWVyeVNlbGVjdG9yKCIuIit0LmxpbmtDbGFzcysiLm5vZGUtbmFtZS0tIitsLm5vZGVOYW1lKydbaHJlZj0iJyt0LmJhc2VQYXRoKyIjIitsLmlkLnJlcGxhY2UoLyhbICM7JiwuKyp+JzoiIV4kW1xdKCk9PnwvQF0pL2csIlxcJDEiKSsnIl0nKTstMT09PWYuY2xhc3NOYW1lLmluZGV4T2YodC5hY3RpdmVMaW5rQ2xhc3MpJiYoZi5jbGFzc05hbWUrPXIrdC5hY3RpdmVMaW5rQ2xhc3MpO3ZhciBoPWYucGFyZW50Tm9kZTtoJiYtMT09PWguY2xhc3NOYW1lLmluZGV4T2YodC5hY3RpdmVMaXN0SXRlbUNsYXNzKSYmKGguY2xhc3NOYW1lKz1yK3QuYWN0aXZlTGlzdEl0ZW1DbGFzcyk7dmFyIHA9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0LnRvY1NlbGVjdG9yKS5xdWVyeVNlbGVjdG9yQWxsKCIuIit0Lmxpc3RDbGFzcysiLiIrdC5jb2xsYXBzaWJsZUNsYXNzKTtlLmNhbGwocCwoZnVuY3Rpb24oZSl7LTE9PT1lLmNsYXNzTmFtZS5pbmRleE9mKHQuaXNDb2xsYXBzZWRDbGFzcykmJihlLmNsYXNzTmFtZSs9cit0LmlzQ29sbGFwc2VkQ2xhc3MpfSkpLGYubmV4dFNpYmxpbmcmJi0xIT09Zi5uZXh0U2libGluZy5jbGFzc05hbWUuaW5kZXhPZih0LmlzQ29sbGFwc2VkQ2xhc3MpJiYoZi5uZXh0U2libGluZy5jbGFzc05hbWU9Zi5uZXh0U2libGluZy5jbGFzc05hbWUuc3BsaXQocit0LmlzQ29sbGFwc2VkQ2xhc3MpLmpvaW4oIiIpKSxmdW5jdGlvbiBlKG4pe3JldHVybi0xIT09bi5jbGFzc05hbWUuaW5kZXhPZih0LmNvbGxhcHNpYmxlQ2xhc3MpJiYtMSE9PW4uY2xhc3NOYW1lLmluZGV4T2YodC5pc0NvbGxhcHNlZENsYXNzKT8obi5jbGFzc05hbWU9bi5jbGFzc05hbWUuc3BsaXQocit0LmlzQ29sbGFwc2VkQ2xhc3MpLmpvaW4oIiIpLGUobi5wYXJlbnROb2RlLnBhcmVudE5vZGUpKTpufShmLnBhcmVudE5vZGUucGFyZW50Tm9kZSl9fX19fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1bXS5yZWR1Y2U7ZnVuY3Rpb24gbih0KXtyZXR1cm4gdFt0Lmxlbmd0aC0xXX1mdW5jdGlvbiBpKGUpe2lmKCEoZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCkpcmV0dXJuIGU7aWYodC5pZ25vcmVIaWRkZW5FbGVtZW50cyYmKCFlLm9mZnNldEhlaWdodHx8IWUub2Zmc2V0UGFyZW50KSlyZXR1cm4gbnVsbDt2YXIgbj17aWQ6ZS5pZCxjaGlsZHJlbjpbXSxub2RlTmFtZTplLm5vZGVOYW1lLGhlYWRpbmdMZXZlbDpmdW5jdGlvbih0KXtyZXR1cm4rdC5ub2RlTmFtZS5zcGxpdCgiSCIpLmpvaW4oIiIpfShlKSx0ZXh0Q29udGVudDp0LmhlYWRpbmdMYWJlbENhbGxiYWNrP1N0cmluZyh0LmhlYWRpbmdMYWJlbENhbGxiYWNrKGUudGV4dENvbnRlbnQpKTplLnRleHRDb250ZW50LnRyaW0oKX07cmV0dXJuIHQuaW5jbHVkZUh0bWwmJihuLmNoaWxkTm9kZXM9ZS5jaGlsZE5vZGVzKSx0LmhlYWRpbmdPYmplY3RDYWxsYmFjaz90LmhlYWRpbmdPYmplY3RDYWxsYmFjayhuLGUpOm59cmV0dXJue25lc3RIZWFkaW5nc0FycmF5OmZ1bmN0aW9uKG8pe3JldHVybiBlLmNhbGwobywoZnVuY3Rpb24oZSxvKXt2YXIgcj1pKG8pO3JldHVybiByJiZmdW5jdGlvbihlLG8pe2Zvcih2YXIgcj1pKGUpLHM9ci5oZWFkaW5nTGV2ZWwsYT1vLGw9bihhKSxjPXMtKGw/bC5oZWFkaW5nTGV2ZWw6MCk7Yz4wOykobD1uKGEpKSYmdm9pZCAwIT09bC5jaGlsZHJlbiYmKGE9bC5jaGlsZHJlbiksYy0tO3M+PXQuY29sbGFwc2VEZXB0aCYmKHIuaXNDb2xsYXBzZWQ9ITApLGEucHVzaChyKX0ocixlLm5lc3QpLGV9KSx7bmVzdDpbXX0pfSxzZWxlY3RIZWFkaW5nczpmdW5jdGlvbihlLG4pe3ZhciBpPW47dC5pZ25vcmVTZWxlY3RvciYmKGk9bi5zcGxpdCgiLCIpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUudHJpbSgpKyI6bm90KCIrdC5pZ25vcmVTZWxlY3RvcisiKSJ9KSkpO3RyeXtyZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKS5xdWVyeVNlbGVjdG9yQWxsKGkpfWNhdGNoKHQpe3JldHVybiBjb25zb2xlLndhcm4oIkVsZW1lbnQgbm90IGZvdW5kOiAiK2UpLG51bGx9fX19fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQudG9jU2VsZWN0b3IpO2lmKGUmJmUuc2Nyb2xsSGVpZ2h0PmUuY2xpZW50SGVpZ2h0KXt2YXIgbj1lLnF1ZXJ5U2VsZWN0b3IoIi4iK3QuYWN0aXZlTGlzdEl0ZW1DbGFzcyk7biYmKGUuc2Nyb2xsVG9wPW4ub2Zmc2V0VG9wKX19fSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4odCxlKXt2YXIgbixpLG89d2luZG93LnBhZ2VZT2Zmc2V0LHI9e2R1cmF0aW9uOmUuZHVyYXRpb24sb2Zmc2V0OmUub2Zmc2V0fHwwLGNhbGxiYWNrOmUuY2FsbGJhY2ssZWFzaW5nOmUuZWFzaW5nfHxmdW5jdGlvbih0LGUsbixpKXtyZXR1cm4odC89aS8yKTwxP24vMip0KnQrZTotbi8yKigtLXQqKHQtMiktMSkrZX19LHM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2lkPSInK2RlY29kZVVSSSh0KS5zcGxpdCgiIyIpLmpvaW4oIiIpKyciXScpLGE9InN0cmluZyI9PXR5cGVvZiB0P3Iub2Zmc2V0Kyh0P3MmJnMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wfHwwOi0oZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApKTp0LGw9ImZ1bmN0aW9uIj09dHlwZW9mIHIuZHVyYXRpb24/ci5kdXJhdGlvbihhKTpyLmR1cmF0aW9uO2Z1bmN0aW9uIGModCl7aT10LW4sd2luZG93LnNjcm9sbFRvKDAsci5lYXNpbmcoaSxvLGEsbCkpLGk8bD9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYyk6KHdpbmRvdy5zY3JvbGxUbygwLG8rYSksImZ1bmN0aW9uIj09dHlwZW9mIHIuY2FsbGJhY2smJnIuY2FsbGJhY2soKSl9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbih0KXtuPXQsYyh0KX0pKX1lLmluaXRTbW9vdGhTY3JvbGxpbmc9ZnVuY3Rpb24odCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlO3ZhciBlPXQuZHVyYXRpb24saT10Lm9mZnNldCxvPWxvY2F0aW9uLmhhc2g/cihsb2NhdGlvbi5ocmVmKTpsb2NhdGlvbi5ocmVmO2Z1bmN0aW9uIHIodCl7cmV0dXJuIHQuc2xpY2UoMCx0Lmxhc3RJbmRleE9mKCIjIikpfWRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLChmdW5jdGlvbihzKXshZnVuY3Rpb24odCl7cmV0dXJuImEiPT09dC50YWdOYW1lLnRvTG93ZXJDYXNlKCkmJih0Lmhhc2gubGVuZ3RoPjB8fCIjIj09PXQuaHJlZi5jaGFyQXQodC5ocmVmLmxlbmd0aC0xKSkmJihyKHQuaHJlZik9PT1vfHxyKHQuaHJlZikrIiMiPT09byl9KHMudGFyZ2V0KXx8cy50YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoIm5vLXNtb290aC1zY3JvbGwiKT4tMXx8IiMiPT09cy50YXJnZXQuaHJlZi5jaGFyQXQocy50YXJnZXQuaHJlZi5sZW5ndGgtMikmJiIhIj09PXMudGFyZ2V0LmhyZWYuY2hhckF0KHMudGFyZ2V0LmhyZWYubGVuZ3RoLTEpfHwtMT09PXMudGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKHQubGlua0NsYXNzKXx8bihzLnRhcmdldC5oYXNoLHtkdXJhdGlvbjplLG9mZnNldDppLGNhbGxiYWNrOmZ1bmN0aW9uKCl7IWZ1bmN0aW9uKHQpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHQuc3Vic3RyaW5nKDEpKTtlJiYoL14oPzphfHNlbGVjdHxpbnB1dHxidXR0b258dGV4dGFyZWEpJC9pLnRlc3QoZS50YWdOYW1lKXx8KGUudGFiSW5kZXg9LTEpLGUuZm9jdXMoKSl9KHMudGFyZ2V0Lmhhc2gpfX0pfSksITEpfX1dKTs="></script><script src="data:application/javascript;charset=utf-8;base64,LyohCiAqIGNsaXBib2FyZC5qcyB2Mi4wLjYKICogaHR0cHM6Ly9jbGlwYm9hcmRqcy5jb20vCiAqIAogKiBMaWNlbnNlZCBNSVQgwqkgWmVubyBSb2NoYQogKi8KIWZ1bmN0aW9uKHQsZSl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1lKCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sZSk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP2V4cG9ydHMuQ2xpcGJvYXJkSlM9ZSgpOnQuQ2xpcGJvYXJkSlM9ZSgpfSh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIG89e30sci5tPW49W2Z1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlO2lmKCJTRUxFQ1QiPT09dC5ub2RlTmFtZSl0LmZvY3VzKCksZT10LnZhbHVlO2Vsc2UgaWYoIklOUFVUIj09PXQubm9kZU5hbWV8fCJURVhUQVJFQSI9PT10Lm5vZGVOYW1lKXt2YXIgbj10Lmhhc0F0dHJpYnV0ZSgicmVhZG9ubHkiKTtufHx0LnNldEF0dHJpYnV0ZSgicmVhZG9ubHkiLCIiKSx0LnNlbGVjdCgpLHQuc2V0U2VsZWN0aW9uUmFuZ2UoMCx0LnZhbHVlLmxlbmd0aCksbnx8dC5yZW1vdmVBdHRyaWJ1dGUoInJlYWRvbmx5IiksZT10LnZhbHVlfWVsc2V7dC5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpJiZ0LmZvY3VzKCk7dmFyIG89d2luZG93LmdldFNlbGVjdGlvbigpLHI9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyLnNlbGVjdE5vZGVDb250ZW50cyh0KSxvLnJlbW92ZUFsbFJhbmdlcygpLG8uYWRkUmFuZ2UociksZT1vLnRvU3RyaW5nKCl9cmV0dXJuIGV9fSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4oKXt9bi5wcm90b3R5cGU9e29uOmZ1bmN0aW9uKHQsZSxuKXt2YXIgbz10aGlzLmV8fCh0aGlzLmU9e30pO3JldHVybihvW3RdfHwob1t0XT1bXSkpLnB1c2goe2ZuOmUsY3R4Om59KSx0aGlzfSxvbmNlOmZ1bmN0aW9uKHQsZSxuKXt2YXIgbz10aGlzO2Z1bmN0aW9uIHIoKXtvLm9mZih0LHIpLGUuYXBwbHkobixhcmd1bWVudHMpfXJldHVybiByLl89ZSx0aGlzLm9uKHQscixuKX0sZW1pdDpmdW5jdGlvbih0KXtmb3IodmFyIGU9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMSksbj0oKHRoaXMuZXx8KHRoaXMuZT17fSkpW3RdfHxbXSkuc2xpY2UoKSxvPTAscj1uLmxlbmd0aDtvPHI7bysrKW5bb10uZm4uYXBwbHkobltvXS5jdHgsZSk7cmV0dXJuIHRoaXN9LG9mZjpmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuZXx8KHRoaXMuZT17fSksbz1uW3RdLHI9W107aWYobyYmZSlmb3IodmFyIGk9MCxhPW8ubGVuZ3RoO2k8YTtpKyspb1tpXS5mbiE9PWUmJm9baV0uZm4uXyE9PWUmJnIucHVzaChvW2ldKTtyZXR1cm4gci5sZW5ndGg/blt0XT1yOmRlbGV0ZSBuW3RdLHRoaXN9fSx0LmV4cG9ydHM9bix0LmV4cG9ydHMuVGlueUVtaXR0ZXI9bn0sZnVuY3Rpb24odCxlLG4pe3ZhciBkPW4oMyksaD1uKDQpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbil7aWYoIXQmJiFlJiYhbil0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgcmVxdWlyZWQgYXJndW1lbnRzIik7aWYoIWQuc3RyaW5nKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIlNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgU3RyaW5nIik7aWYoIWQuZm4obikpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhpcmQgYXJndW1lbnQgbXVzdCBiZSBhIEZ1bmN0aW9uIik7aWYoZC5ub2RlKHQpKXJldHVybiBzPWUsZj1uLCh1PXQpLmFkZEV2ZW50TGlzdGVuZXIocyxmKSx7ZGVzdHJveTpmdW5jdGlvbigpe3UucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLGYpfX07aWYoZC5ub2RlTGlzdCh0KSlyZXR1cm4gYT10LGM9ZSxsPW4sQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGZ1bmN0aW9uKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcihjLGwpfSkse2Rlc3Ryb3k6ZnVuY3Rpb24oKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsZnVuY3Rpb24odCl7dC5yZW1vdmVFdmVudExpc3RlbmVyKGMsbCl9KX19O2lmKGQuc3RyaW5nKHQpKXJldHVybiBvPXQscj1lLGk9bixoKGRvY3VtZW50LmJvZHksbyxyLGkpO3Rocm93IG5ldyBUeXBlRXJyb3IoIkZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBTdHJpbmcsIEhUTUxFbGVtZW50LCBIVE1MQ29sbGVjdGlvbiwgb3IgTm9kZUxpc3QiKTt2YXIgbyxyLGksYSxjLGwsdSxzLGZ9fSxmdW5jdGlvbih0LG4pe24ubm9kZT1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwIT09dCYmdCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYxPT09dC5ub2RlVHlwZX0sbi5ub2RlTGlzdD1mdW5jdGlvbih0KXt2YXIgZT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCk7cmV0dXJuIHZvaWQgMCE9PXQmJigiW29iamVjdCBOb2RlTGlzdF0iPT09ZXx8IltvYmplY3QgSFRNTENvbGxlY3Rpb25dIj09PWUpJiYibGVuZ3RoImluIHQmJigwPT09dC5sZW5ndGh8fG4ubm9kZSh0WzBdKSl9LG4uc3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdHx8dCBpbnN0YW5jZW9mIFN0cmluZ30sbi5mbj1mdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBGdW5jdGlvbl0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfX0sZnVuY3Rpb24odCxlLG4pe3ZhciBhPW4oNSk7ZnVuY3Rpb24gaSh0LGUsbixvLHIpe3ZhciBpPWZ1bmN0aW9uKGUsbix0LG8pe3JldHVybiBmdW5jdGlvbih0KXt0LmRlbGVnYXRlVGFyZ2V0PWEodC50YXJnZXQsbiksdC5kZWxlZ2F0ZVRhcmdldCYmby5jYWxsKGUsdCl9fS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHQuYWRkRXZlbnRMaXN0ZW5lcihuLGkscikse2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0LnJlbW92ZUV2ZW50TGlzdGVuZXIobixpLHIpfX19dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuLG8scil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcj9pLmFwcGx5KG51bGwsYXJndW1lbnRzKToiZnVuY3Rpb24iPT10eXBlb2Ygbj9pLmJpbmQobnVsbCxkb2N1bWVudCkuYXBwbHkobnVsbCxhcmd1bWVudHMpOigic3RyaW5nIj09dHlwZW9mIHQmJih0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodCkpLEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbCh0LGZ1bmN0aW9uKHQpe3JldHVybiBpKHQsZSxuLG8scil9KSl9fSxmdW5jdGlvbih0LGUpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgRWxlbWVudCYmIUVsZW1lbnQucHJvdG90eXBlLm1hdGNoZXMpe3ZhciBuPUVsZW1lbnQucHJvdG90eXBlO24ubWF0Y2hlcz1uLm1hdGNoZXNTZWxlY3Rvcnx8bi5tb3pNYXRjaGVzU2VsZWN0b3J8fG4ubXNNYXRjaGVzU2VsZWN0b3J8fG4ub01hdGNoZXNTZWxlY3Rvcnx8bi53ZWJraXRNYXRjaGVzU2VsZWN0b3J9dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKDt0JiY5IT09dC5ub2RlVHlwZTspe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0Lm1hdGNoZXMmJnQubWF0Y2hlcyhlKSlyZXR1cm4gdDt0PXQucGFyZW50Tm9kZX19fSxmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgbz1uKDApLHI9bi5uKG8pLGk9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24odCl7cmV0dXJuIHR5cGVvZiB0fTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIHR9O2Z1bmN0aW9uIGEodCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIG89ZVtuXTtvLmVudW1lcmFibGU9by5lbnVtZXJhYmxlfHwhMSxvLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gbyYmKG8ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LG8ua2V5LG8pfX1mdW5jdGlvbiBjKHQpeyFmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLGMpLHRoaXMucmVzb2x2ZU9wdGlvbnModCksdGhpcy5pbml0U2VsZWN0aW9uKCl9dmFyIGw9KGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZSYmYSh0LnByb3RvdHlwZSxlKSxuJiZhKHQsbiksdH0oYyxbe2tleToicmVzb2x2ZU9wdGlvbnMiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPTA8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09dD90Ont9O3RoaXMuYWN0aW9uPWUuYWN0aW9uLHRoaXMuY29udGFpbmVyPWUuY29udGFpbmVyLHRoaXMuZW1pdHRlcj1lLmVtaXR0ZXIsdGhpcy50YXJnZXQ9ZS50YXJnZXQsdGhpcy50ZXh0PWUudGV4dCx0aGlzLnRyaWdnZXI9ZS50cmlnZ2VyLHRoaXMuc2VsZWN0ZWRUZXh0PSIifX0se2tleToiaW5pdFNlbGVjdGlvbiIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnRleHQ/dGhpcy5zZWxlY3RGYWtlKCk6dGhpcy50YXJnZXQmJnRoaXMuc2VsZWN0VGFyZ2V0KCl9fSx7a2V5OiJzZWxlY3RGYWtlIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT0icnRsIj09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGlyIik7dGhpcy5yZW1vdmVGYWtlKCksdGhpcy5mYWtlSGFuZGxlckNhbGxiYWNrPWZ1bmN0aW9uKCl7cmV0dXJuIHQucmVtb3ZlRmFrZSgpfSx0aGlzLmZha2VIYW5kbGVyPXRoaXMuY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmZha2VIYW5kbGVyQ2FsbGJhY2spfHwhMCx0aGlzLmZha2VFbGVtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIiksdGhpcy5mYWtlRWxlbS5zdHlsZS5mb250U2l6ZT0iMTJwdCIsdGhpcy5mYWtlRWxlbS5zdHlsZS5ib3JkZXI9IjAiLHRoaXMuZmFrZUVsZW0uc3R5bGUucGFkZGluZz0iMCIsdGhpcy5mYWtlRWxlbS5zdHlsZS5tYXJnaW49IjAiLHRoaXMuZmFrZUVsZW0uc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0aGlzLmZha2VFbGVtLnN0eWxlW2U/InJpZ2h0IjoibGVmdCJdPSItOTk5OXB4Ijt2YXIgbj13aW5kb3cucGFnZVlPZmZzZXR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7dGhpcy5mYWtlRWxlbS5zdHlsZS50b3A9bisicHgiLHRoaXMuZmFrZUVsZW0uc2V0QXR0cmlidXRlKCJyZWFkb25seSIsIiIpLHRoaXMuZmFrZUVsZW0udmFsdWU9dGhpcy50ZXh0LHRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuZmFrZUVsZW0pLHRoaXMuc2VsZWN0ZWRUZXh0PXIoKSh0aGlzLmZha2VFbGVtKSx0aGlzLmNvcHlUZXh0KCl9fSx7a2V5OiJyZW1vdmVGYWtlIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuZmFrZUhhbmRsZXImJih0aGlzLmNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5mYWtlSGFuZGxlckNhbGxiYWNrKSx0aGlzLmZha2VIYW5kbGVyPW51bGwsdGhpcy5mYWtlSGFuZGxlckNhbGxiYWNrPW51bGwpLHRoaXMuZmFrZUVsZW0mJih0aGlzLmNvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLmZha2VFbGVtKSx0aGlzLmZha2VFbGVtPW51bGwpfX0se2tleToic2VsZWN0VGFyZ2V0Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuc2VsZWN0ZWRUZXh0PXIoKSh0aGlzLnRhcmdldCksdGhpcy5jb3B5VGV4dCgpfX0se2tleToiY29weVRleHQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dm9pZCAwO3RyeXtlPWRvY3VtZW50LmV4ZWNDb21tYW5kKHRoaXMuYWN0aW9uKX1jYXRjaCh0KXtlPSExfXRoaXMuaGFuZGxlUmVzdWx0KGUpfX0se2tleToiaGFuZGxlUmVzdWx0Iix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLmVtaXR0ZXIuZW1pdCh0PyJzdWNjZXNzIjoiZXJyb3IiLHthY3Rpb246dGhpcy5hY3Rpb24sdGV4dDp0aGlzLnNlbGVjdGVkVGV4dCx0cmlnZ2VyOnRoaXMudHJpZ2dlcixjbGVhclNlbGVjdGlvbjp0aGlzLmNsZWFyU2VsZWN0aW9uLmJpbmQodGhpcyl9KX19LHtrZXk6ImNsZWFyU2VsZWN0aW9uIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMudHJpZ2dlciYmdGhpcy50cmlnZ2VyLmZvY3VzKCksZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCksd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpfX0se2tleToiZGVzdHJveSIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUZha2UoKX19LHtrZXk6ImFjdGlvbiIsc2V0OmZ1bmN0aW9uKHQpe3ZhciBlPTA8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09dD90OiJjb3B5IjtpZih0aGlzLl9hY3Rpb249ZSwiY29weSIhPT10aGlzLl9hY3Rpb24mJiJjdXQiIT09dGhpcy5fYWN0aW9uKXRocm93IG5ldyBFcnJvcignSW52YWxpZCAiYWN0aW9uIiB2YWx1ZSwgdXNlIGVpdGhlciAiY29weSIgb3IgImN1dCInKX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FjdGlvbn19LHtrZXk6InRhcmdldCIsc2V0OmZ1bmN0aW9uKHQpe2lmKHZvaWQgMCE9PXQpe2lmKCF0fHwib2JqZWN0IiE9PSh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOmkodCkpfHwxIT09dC5ub2RlVHlwZSl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgInRhcmdldCIgdmFsdWUsIHVzZSBhIHZhbGlkIEVsZW1lbnQnKTtpZigiY29weSI9PT10aGlzLmFjdGlvbiYmdC5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIikpdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkICJ0YXJnZXQiIGF0dHJpYnV0ZS4gUGxlYXNlIHVzZSAicmVhZG9ubHkiIGluc3RlYWQgb2YgImRpc2FibGVkIiBhdHRyaWJ1dGUnKTtpZigiY3V0Ij09PXRoaXMuYWN0aW9uJiYodC5oYXNBdHRyaWJ1dGUoInJlYWRvbmx5Iil8fHQuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpKSl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgInRhcmdldCIgYXR0cmlidXRlLiBZb3UgY2FuXCd0IGN1dCB0ZXh0IGZyb20gZWxlbWVudHMgd2l0aCAicmVhZG9ubHkiIG9yICJkaXNhYmxlZCIgYXR0cmlidXRlcycpO3RoaXMuX3RhcmdldD10fX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhcmdldH19XSksYyksdT1uKDEpLHM9bi5uKHUpLGY9bigyKSxkPW4ubihmKSxoPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiB0fSxwPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZSYmeSh0LnByb3RvdHlwZSxlKSxuJiZ5KHQsbiksdH07ZnVuY3Rpb24geSh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgbz1lW25dO28uZW51bWVyYWJsZT1vLmVudW1lcmFibGV8fCExLG8uY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBvJiYoby53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsby5rZXksbyl9fXZhciBtPShmdW5jdGlvbih0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90ICIrdHlwZW9mIGUpO3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLGUmJihPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsZSk6dC5fX3Byb3RvX189ZSl9KHYscy5hKSxwKHYsW3trZXk6InJlc29sdmVPcHRpb25zIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT0wPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PXQ/dDp7fTt0aGlzLmFjdGlvbj0iZnVuY3Rpb24iPT10eXBlb2YgZS5hY3Rpb24/ZS5hY3Rpb246dGhpcy5kZWZhdWx0QWN0aW9uLHRoaXMudGFyZ2V0PSJmdW5jdGlvbiI9PXR5cGVvZiBlLnRhcmdldD9lLnRhcmdldDp0aGlzLmRlZmF1bHRUYXJnZXQsdGhpcy50ZXh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlLnRleHQ/ZS50ZXh0OnRoaXMuZGVmYXVsdFRleHQsdGhpcy5jb250YWluZXI9Im9iamVjdCI9PT1oKGUuY29udGFpbmVyKT9lLmNvbnRhaW5lcjpkb2N1bWVudC5ib2R5fX0se2tleToibGlzdGVuQ2xpY2siLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dGhpcy5saXN0ZW5lcj1kKCkodCwiY2xpY2siLGZ1bmN0aW9uKHQpe3JldHVybiBlLm9uQ2xpY2sodCl9KX19LHtrZXk6Im9uQ2xpY2siLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXQuZGVsZWdhdGVUYXJnZXR8fHQuY3VycmVudFRhcmdldDt0aGlzLmNsaXBib2FyZEFjdGlvbiYmKHRoaXMuY2xpcGJvYXJkQWN0aW9uPW51bGwpLHRoaXMuY2xpcGJvYXJkQWN0aW9uPW5ldyBsKHthY3Rpb246dGhpcy5hY3Rpb24oZSksdGFyZ2V0OnRoaXMudGFyZ2V0KGUpLHRleHQ6dGhpcy50ZXh0KGUpLGNvbnRhaW5lcjp0aGlzLmNvbnRhaW5lcix0cmlnZ2VyOmUsZW1pdHRlcjp0aGlzfSl9fSx7a2V5OiJkZWZhdWx0QWN0aW9uIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gYigiYWN0aW9uIix0KX19LHtrZXk6ImRlZmF1bHRUYXJnZXQiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPWIoInRhcmdldCIsdCk7aWYoZSlyZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKX19LHtrZXk6ImRlZmF1bHRUZXh0Iix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gYigidGV4dCIsdCl9fSx7a2V5OiJkZXN0cm95Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMubGlzdGVuZXIuZGVzdHJveSgpLHRoaXMuY2xpcGJvYXJkQWN0aW9uJiYodGhpcy5jbGlwYm9hcmRBY3Rpb24uZGVzdHJveSgpLHRoaXMuY2xpcGJvYXJkQWN0aW9uPW51bGwpfX1dLFt7a2V5OiJpc1N1cHBvcnRlZCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9MDxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT10P3Q6WyJjb3B5IiwiY3V0Il0sbj0ic3RyaW5nIj09dHlwZW9mIGU/W2VdOmUsbz0hIWRvY3VtZW50LnF1ZXJ5Q29tbWFuZFN1cHBvcnRlZDtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKHQpe289byYmISFkb2N1bWVudC5xdWVyeUNvbW1hbmRTdXBwb3J0ZWQodCl9KSxvfX1dKSx2KTtmdW5jdGlvbiB2KHQsZSl7IWZ1bmN0aW9uKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsdik7dmFyIG49ZnVuY3Rpb24odCxlKXtpZighdCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiFlfHwib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlP3Q6ZX0odGhpcywodi5fX3Byb3RvX198fE9iamVjdC5nZXRQcm90b3R5cGVPZih2KSkuY2FsbCh0aGlzKSk7cmV0dXJuIG4ucmVzb2x2ZU9wdGlvbnMoZSksbi5saXN0ZW5DbGljayh0KSxufWZ1bmN0aW9uIGIodCxlKXt2YXIgbj0iZGF0YS1jbGlwYm9hcmQtIit0O2lmKGUuaGFzQXR0cmlidXRlKG4pKXJldHVybiBlLmdldEF0dHJpYnV0ZShuKX1lLmRlZmF1bHQ9bX1dLHIuYz1vLHIuZD1mdW5jdGlvbih0LGUsbil7ci5vKHQsZSl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse2VudW1lcmFibGU6ITAsZ2V0Om59KX0sci5yPWZ1bmN0aW9uKHQpeyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LHIudD1mdW5jdGlvbihlLHQpe2lmKDEmdCYmKGU9cihlKSksOCZ0KXJldHVybiBlO2lmKDQmdCYmIm9iamVjdCI9PXR5cGVvZiBlJiZlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIG49T2JqZWN0LmNyZWF0ZShudWxsKTtpZihyLnIobiksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOmV9KSwyJnQmJiJzdHJpbmciIT10eXBlb2YgZSlmb3IodmFyIG8gaW4gZSlyLmQobixvLGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfS5iaW5kKG51bGwsbykpO3JldHVybiBufSxyLm49ZnVuY3Rpb24odCl7dmFyIGU9dCYmdC5fX2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIHQuZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4gdH07cmV0dXJuIHIuZChlLCJhIixlKSxlfSxyLm89ZnVuY3Rpb24odCxlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSl9LHIucD0iIixyKHIucz02KS5kZWZhdWx0O2Z1bmN0aW9uIHIodCl7aWYob1t0XSlyZXR1cm4gb1t0XS5leHBvcnRzO3ZhciBlPW9bdF09e2k6dCxsOiExLGV4cG9ydHM6e319O3JldHVybiBuW3RdLmNhbGwoZS5leHBvcnRzLGUsZS5leHBvcnRzLHIpLGUubD0hMCxlLmV4cG9ydHN9dmFyIG4sb30pOw=="></script><script src="data:application/javascript;charset=utf-8;base64,LyoKICBIaWdobGlnaHQuanMgMTAuNS4wIChhZjIwMDQ4ZCkKICBMaWNlbnNlOiBCU0QtMy1DbGF1c2UKICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAyMCwgSXZhbiBTYWdhbGFldgoqLwp2YXIgaGxqcz1mdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKHQpewpyZXR1cm4gdCBpbnN0YW5jZW9mIE1hcD90LmNsZWFyPXQuZGVsZXRlPXQuc2V0PSgpPT57CnRocm93IEVycm9yKCJtYXAgaXMgcmVhZC1vbmx5Iil9OnQgaW5zdGFuY2VvZiBTZXQmJih0LmFkZD10LmNsZWFyPXQuZGVsZXRlPSgpPT57CnRocm93IEVycm9yKCJzZXQgaXMgcmVhZC1vbmx5IikKfSksT2JqZWN0LmZyZWV6ZSh0KSxPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5mb3JFYWNoKChuPT57dmFyIHM9dFtuXQo7Im9iamVjdCIhPXR5cGVvZiBzfHxPYmplY3QuaXNGcm96ZW4ocyl8fGUocyl9KSksdH12YXIgdD1lLG49ZTt0LmRlZmF1bHQ9bgo7Y2xhc3Mgc3tjb25zdHJ1Y3RvcihlKXt2b2lkIDA9PT1lLmRhdGEmJihlLmRhdGE9e30pLHRoaXMuZGF0YT1lLmRhdGF9Cmlnbm9yZU1hdGNoKCl7dGhpcy5pZ25vcmU9ITB9fWZ1bmN0aW9uIHIoZSl7CnJldHVybiBlLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKS5yZXBsYWNlKC8iL2csIiZxdW90OyIpLnJlcGxhY2UoLycvZywiJiN4Mjc7IikKfWZ1bmN0aW9uIGEoZSwuLi50KXtjb25zdCBuPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGNvbnN0IHQgaW4gZSluW3RdPWVbdF0KO3JldHVybiB0LmZvckVhY2goKGU9Pntmb3IoY29uc3QgdCBpbiBlKW5bdF09ZVt0XX0pKSxufWNvbnN0IGk9ZT0+ISFlLmtpbmQKO2NsYXNzIG97Y29uc3RydWN0b3IoZSx0KXsKdGhpcy5idWZmZXI9IiIsdGhpcy5jbGFzc1ByZWZpeD10LmNsYXNzUHJlZml4LGUud2Fsayh0aGlzKX1hZGRUZXh0KGUpewp0aGlzLmJ1ZmZlcis9cihlKX1vcGVuTm9kZShlKXtpZighaShlKSlyZXR1cm47bGV0IHQ9ZS5raW5kCjtlLnN1Ymxhbmd1YWdlfHwodD1gJHt0aGlzLmNsYXNzUHJlZml4fSR7dH1gKSx0aGlzLnNwYW4odCl9Y2xvc2VOb2RlKGUpewppKGUpJiYodGhpcy5idWZmZXIrPSI8L3NwYW4+Iil9dmFsdWUoKXtyZXR1cm4gdGhpcy5idWZmZXJ9c3BhbihlKXsKdGhpcy5idWZmZXIrPWA8c3BhbiBjbGFzcz0iJHtlfSI+YH19Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMucm9vdE5vZGU9ewpjaGlsZHJlbjpbXX0sdGhpcy5zdGFjaz1bdGhpcy5yb290Tm9kZV19Z2V0IHRvcCgpewpyZXR1cm4gdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXX1nZXQgcm9vdCgpe3JldHVybiB0aGlzLnJvb3ROb2RlfWFkZChlKXsKdGhpcy50b3AuY2hpbGRyZW4ucHVzaChlKX1vcGVuTm9kZShlKXtjb25zdCB0PXtraW5kOmUsY2hpbGRyZW46W119Cjt0aGlzLmFkZCh0KSx0aGlzLnN0YWNrLnB1c2godCl9Y2xvc2VOb2RlKCl7CmlmKHRoaXMuc3RhY2subGVuZ3RoPjEpcmV0dXJuIHRoaXMuc3RhY2sucG9wKCl9Y2xvc2VBbGxOb2Rlcygpewpmb3IoO3RoaXMuY2xvc2VOb2RlKCk7KTt9dG9KU09OKCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMucm9vdE5vZGUsbnVsbCw0KX0Kd2FsayhlKXtyZXR1cm4gdGhpcy5jb25zdHJ1Y3Rvci5fd2FsayhlLHRoaXMucm9vdE5vZGUpfXN0YXRpYyBfd2FsayhlLHQpewpyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/ZS5hZGRUZXh0KHQpOnQuY2hpbGRyZW4mJihlLm9wZW5Ob2RlKHQpLAp0LmNoaWxkcmVuLmZvckVhY2goKHQ9PnRoaXMuX3dhbGsoZSx0KSkpLGUuY2xvc2VOb2RlKHQpKSxlfXN0YXRpYyBfY29sbGFwc2UoZSl7CiJzdHJpbmciIT10eXBlb2YgZSYmZS5jaGlsZHJlbiYmKGUuY2hpbGRyZW4uZXZlcnkoKGU9PiJzdHJpbmciPT10eXBlb2YgZSkpP2UuY2hpbGRyZW49W2UuY2hpbGRyZW4uam9pbigiIildOmUuY2hpbGRyZW4uZm9yRWFjaCgoZT0+ewpsLl9jb2xsYXBzZShlKX0pKSl9fWNsYXNzIGMgZXh0ZW5kcyBse2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5vcHRpb25zPWV9CmFkZEtleXdvcmQoZSx0KXsiIiE9PWUmJih0aGlzLm9wZW5Ob2RlKHQpLHRoaXMuYWRkVGV4dChlKSx0aGlzLmNsb3NlTm9kZSgpKX0KYWRkVGV4dChlKXsiIiE9PWUmJnRoaXMuYWRkKGUpfWFkZFN1Ymxhbmd1YWdlKGUsdCl7Y29uc3Qgbj1lLnJvb3QKO24ua2luZD10LG4uc3VibGFuZ3VhZ2U9ITAsdGhpcy5hZGQobil9dG9IVE1MKCl7CnJldHVybiBuZXcgbyh0aGlzLHRoaXMub3B0aW9ucykudmFsdWUoKX1maW5hbGl6ZSgpe3JldHVybiEwfX1mdW5jdGlvbiB1KGUpewpyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9mIGU/ZTplLnNvdXJjZTpudWxsfQpjb25zdCBnPSJbYS16QS1aXVxcdyoiLGQ9IlthLXpBLVpfXVxcdyoiLGg9IlxcYlxcZCsoXFwuXFxkKyk/IixmPSIoLT8pKFxcYjBbeFhdW2EtZkEtRjAtOV0rfChcXGJcXGQrKFxcLlxcZCopP3xcXC5cXGQrKShbZUVdWy0rXT9cXGQrKT8pIixwPSJcXGIoMGJbMDFdKykiLG09ewpiZWdpbjoiXFxcXFtcXHNcXFNdIixyZWxldmFuY2U6MH0sYj17Y2xhc3NOYW1lOiJzdHJpbmciLGJlZ2luOiInIixlbmQ6IiciLAppbGxlZ2FsOiJcXG4iLGNvbnRhaW5zOlttXX0seD17Y2xhc3NOYW1lOiJzdHJpbmciLGJlZ2luOiciJyxlbmQ6JyInLAppbGxlZ2FsOiJcXG4iLGNvbnRhaW5zOlttXX0sRT17CmJlZ2luOi9cYihhfGFufHRoZXxhcmV8SSdtfGlzbid0fGRvbid0fGRvZXNuJ3R8d29uJ3R8YnV0fGp1c3R8c2hvdWxkfHByZXR0eXxzaW1wbHl8ZW5vdWdofGdvbm5hfGdvaW5nfHd0Znxzb3xzdWNofHdpbGx8eW91fHlvdXJ8dGhleXxsaWtlfG1vcmUpXGIvCn0sdj0oZSx0LG49e30pPT57Y29uc3Qgcz1hKHtjbGFzc05hbWU6ImNvbW1lbnQiLGJlZ2luOmUsZW5kOnQsY29udGFpbnM6W119LG4pCjtyZXR1cm4gcy5jb250YWlucy5wdXNoKEUpLHMuY29udGFpbnMucHVzaCh7Y2xhc3NOYW1lOiJkb2N0YWciLApiZWdpbjoiKD86VE9ET3xGSVhNRXxOT1RFfEJVR3xPUFRJTUlaRXxIQUNLfFhYWCk6IixyZWxldmFuY2U6MH0pLHMKfSxOPXYoIi8vIiwiJCIpLHc9digiL1xcKiIsIlxcKi8iKSxSPXYoIiMiLCIkIik7dmFyIHk9T2JqZWN0LmZyZWV6ZSh7Cl9fcHJvdG9fXzpudWxsLElERU5UX1JFOmcsVU5ERVJTQ09SRV9JREVOVF9SRTpkLE5VTUJFUl9SRTpoLENfTlVNQkVSX1JFOmYsCkJJTkFSWV9OVU1CRVJfUkU6cCwKUkVfU1RBUlRFUlNfUkU6IiF8IT18IT09fCV8JT18JnwmJnwmPXxcXCp8XFwqPXxcXCt8XFwrPXwsfC18LT18Lz18L3w6fDt8PDx8PDw9fDw9fDx8PT09fD09fD18Pj4+PXw+Pj18Pj18Pj4+fD4+fD58XFw/fFxcW3xcXHt8XFwofFxcXnxcXF49fFxcfHxcXHw9fFxcfFxcfHx+IiwKU0hFQkFORzooZT17fSk9Pntjb25zdCB0PS9eIyFbIF0qXC8vCjtyZXR1cm4gZS5iaW5hcnkmJihlLmJlZ2luPSgoLi4uZSk9PmUubWFwKChlPT51KGUpKSkuam9pbigiIikpKHQsLy4qXGIvLGUuYmluYXJ5LC9cYi4qLykpLAphKHtjbGFzc05hbWU6Im1ldGEiLGJlZ2luOnQsZW5kOi8kLyxyZWxldmFuY2U6MCwib246YmVnaW4iOihlLHQpPT57CjAhPT1lLmluZGV4JiZ0Lmlnbm9yZU1hdGNoKCl9fSxlKX0sQkFDS1NMQVNIX0VTQ0FQRTptLEFQT1NfU1RSSU5HX01PREU6YiwKUVVPVEVfU1RSSU5HX01PREU6eCxQSFJBU0FMX1dPUkRTX01PREU6RSxDT01NRU5UOnYsQ19MSU5FX0NPTU1FTlRfTU9ERTpOLApDX0JMT0NLX0NPTU1FTlRfTU9ERTp3LEhBU0hfQ09NTUVOVF9NT0RFOlIsTlVNQkVSX01PREU6e2NsYXNzTmFtZToibnVtYmVyIiwKYmVnaW46aCxyZWxldmFuY2U6MH0sQ19OVU1CRVJfTU9ERTp7Y2xhc3NOYW1lOiJudW1iZXIiLGJlZ2luOmYscmVsZXZhbmNlOjB9LApCSU5BUllfTlVNQkVSX01PREU6e2NsYXNzTmFtZToibnVtYmVyIixiZWdpbjpwLHJlbGV2YW5jZTowfSxDU1NfTlVNQkVSX01PREU6ewpjbGFzc05hbWU6Im51bWJlciIsCmJlZ2luOmgrIiglfGVtfGV4fGNofHJlbXx2d3x2aHx2bWlufHZtYXh8Y218bW18aW58cHR8cGN8cHh8ZGVnfGdyYWR8cmFkfHR1cm58c3xtc3xIenxrSHp8ZHBpfGRwY218ZHBweCk/IiwKcmVsZXZhbmNlOjB9LFJFR0VYUF9NT0RFOntiZWdpbjovKD89XC9bXi9cbl0qXC8pLyxjb250YWluczpbe2NsYXNzTmFtZToicmVnZXhwIiwKYmVnaW46L1wvLyxlbmQ6L1wvW2dpbXV5XSovLGlsbGVnYWw6L1xuLyxjb250YWluczpbbSx7YmVnaW46L1xbLyxlbmQ6L1xdLywKcmVsZXZhbmNlOjAsY29udGFpbnM6W21dfV19XX0sVElUTEVfTU9ERTp7Y2xhc3NOYW1lOiJ0aXRsZSIsYmVnaW46ZyxyZWxldmFuY2U6MAp9LFVOREVSU0NPUkVfVElUTEVfTU9ERTp7Y2xhc3NOYW1lOiJ0aXRsZSIsYmVnaW46ZCxyZWxldmFuY2U6MH0sTUVUSE9EX0dVQVJEOnsKYmVnaW46IlxcLlxccypbYS16QS1aX11cXHcqIixyZWxldmFuY2U6MH0sRU5EX1NBTUVfQVNfQkVHSU46ZT0+T2JqZWN0LmFzc2lnbihlLHsKIm9uOmJlZ2luIjooZSx0KT0+e3QuZGF0YS5fYmVnaW5NYXRjaD1lWzFdfSwib246ZW5kIjooZSx0KT0+ewp0LmRhdGEuX2JlZ2luTWF0Y2ghPT1lWzFdJiZ0Lmlnbm9yZU1hdGNoKCl9fSl9KTtmdW5jdGlvbiBfKGUsdCl7CiIuIj09PWUuaW5wdXRbZS5pbmRleC0xXSYmdC5pZ25vcmVNYXRjaCgpfWZ1bmN0aW9uIGsoZSx0KXsKdCYmZS5iZWdpbktleXdvcmRzJiYoZS5iZWdpbj0iXFxiKCIrZS5iZWdpbktleXdvcmRzLnNwbGl0KCIgIikuam9pbigifCIpKyIpKD8hXFwuKSg/PVxcYnxcXHMpIiwKZS5fX2JlZm9yZUJlZ2luPV8sZS5rZXl3b3Jkcz1lLmtleXdvcmRzfHxlLmJlZ2luS2V5d29yZHMsZGVsZXRlIGUuYmVnaW5LZXl3b3JkcykKfWZ1bmN0aW9uIE0oZSx0KXsKQXJyYXkuaXNBcnJheShlLmlsbGVnYWwpJiYoZS5pbGxlZ2FsPSgoLi4uZSk9PiIoIitlLm1hcCgoZT0+dShlKSkpLmpvaW4oInwiKSsiKSIpKC4uLmUuaWxsZWdhbCkpCn1mdW5jdGlvbiBPKGUsdCl7aWYoZS5tYXRjaCl7CmlmKGUuYmVnaW58fGUuZW5kKXRocm93IEVycm9yKCJiZWdpbiAmIGVuZCBhcmUgbm90IHN1cHBvcnRlZCB3aXRoIG1hdGNoIikKO2UuYmVnaW49ZS5tYXRjaCxkZWxldGUgZS5tYXRjaH19ZnVuY3Rpb24gQShlLHQpewp2b2lkIDA9PT1lLnJlbGV2YW5jZSYmKGUucmVsZXZhbmNlPTEpfQpjb25zdCBMPVsib2YiLCJhbmQiLCJmb3IiLCJpbiIsIm5vdCIsIm9yIiwiaWYiLCJ0aGVuIiwicGFyZW50IiwibGlzdCIsInZhbHVlIl0KO2Z1bmN0aW9uIEIoZSx0KXtyZXR1cm4gdD9OdW1iZXIodCk6KGU9PkwuaW5jbHVkZXMoZS50b0xvd2VyQ2FzZSgpKSkoZSk/MDoxfQpmdW5jdGlvbiBJKGUse3BsdWdpbnM6dH0pe2Z1bmN0aW9uIG4odCxuKXsKcmV0dXJuIFJlZ0V4cCh1KHQpLCJtIisoZS5jYXNlX2luc2Vuc2l0aXZlPyJpIjoiIikrKG4/ImciOiIiKSl9Y2xhc3Mgc3sKY29uc3RydWN0b3IoKXsKdGhpcy5tYXRjaEluZGV4ZXM9e30sdGhpcy5yZWdleGVzPVtdLHRoaXMubWF0Y2hBdD0xLHRoaXMucG9zaXRpb249MH0KYWRkUnVsZShlLHQpewp0LnBvc2l0aW9uPXRoaXMucG9zaXRpb24rKyx0aGlzLm1hdGNoSW5kZXhlc1t0aGlzLm1hdGNoQXRdPXQsdGhpcy5yZWdleGVzLnB1c2goW3QsZV0pLAp0aGlzLm1hdGNoQXQrPShlPT5SZWdFeHAoZS50b1N0cmluZygpKyJ8IikuZXhlYygiIikubGVuZ3RoLTEpKGUpKzF9Y29tcGlsZSgpewowPT09dGhpcy5yZWdleGVzLmxlbmd0aCYmKHRoaXMuZXhlYz0oKT0+bnVsbCkKO2NvbnN0IGU9dGhpcy5yZWdleGVzLm1hcCgoZT0+ZVsxXSkpO3RoaXMubWF0Y2hlclJlPW4oKChlLHQ9InwiKT0+ewpjb25zdCBuPS9cWyg/OlteXFxcXV18XFwuKSpcXXxcKFw/P3xcXChbMS05XVswLTldKil8XFwuLztsZXQgcz0wLHI9IiIKO2ZvcihsZXQgYT0wO2E8ZS5sZW5ndGg7YSsrKXtzKz0xO2NvbnN0IGk9cztsZXQgbz11KGVbYV0pCjtmb3IoYT4wJiYocis9dCkscis9IigiO28ubGVuZ3RoPjA7KXtjb25zdCBlPW4uZXhlYyhvKTtpZihudWxsPT1lKXtyKz1vO2JyZWFrfQpyKz1vLnN1YnN0cmluZygwLGUuaW5kZXgpLApvPW8uc3Vic3RyaW5nKGUuaW5kZXgrZVswXS5sZW5ndGgpLCJcXCI9PT1lWzBdWzBdJiZlWzFdP3IrPSJcXCIrKE51bWJlcihlWzFdKStpKToocis9ZVswXSwKIigiPT09ZVswXSYmcysrKX1yKz0iKSJ9cmV0dXJuIHJ9KShlKSwhMCksdGhpcy5sYXN0SW5kZXg9MH1leGVjKGUpewp0aGlzLm1hdGNoZXJSZS5sYXN0SW5kZXg9dGhpcy5sYXN0SW5kZXg7Y29uc3QgdD10aGlzLm1hdGNoZXJSZS5leGVjKGUpCjtpZighdClyZXR1cm4gbnVsbAo7Y29uc3Qgbj10LmZpbmRJbmRleCgoKGUsdCk9PnQ+MCYmdm9pZCAwIT09ZSkpLHM9dGhpcy5tYXRjaEluZGV4ZXNbbl0KO3JldHVybiB0LnNwbGljZSgwLG4pLE9iamVjdC5hc3NpZ24odCxzKX19Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpewp0aGlzLnJ1bGVzPVtdLHRoaXMubXVsdGlSZWdleGVzPVtdLAp0aGlzLmNvdW50PTAsdGhpcy5sYXN0SW5kZXg9MCx0aGlzLnJlZ2V4SW5kZXg9MH1nZXRNYXRjaGVyKGUpewppZih0aGlzLm11bHRpUmVnZXhlc1tlXSlyZXR1cm4gdGhpcy5tdWx0aVJlZ2V4ZXNbZV07Y29uc3QgdD1uZXcgcwo7cmV0dXJuIHRoaXMucnVsZXMuc2xpY2UoZSkuZm9yRWFjaCgoKFtlLG5dKT0+dC5hZGRSdWxlKGUsbikpKSwKdC5jb21waWxlKCksdGhpcy5tdWx0aVJlZ2V4ZXNbZV09dCx0fXJlc3VtaW5nU2NhbkF0U2FtZVBvc2l0aW9uKCl7CnJldHVybiAwIT09dGhpcy5yZWdleEluZGV4fWNvbnNpZGVyQWxsKCl7dGhpcy5yZWdleEluZGV4PTB9YWRkUnVsZShlLHQpewp0aGlzLnJ1bGVzLnB1c2goW2UsdF0pLCJiZWdpbiI9PT10LnR5cGUmJnRoaXMuY291bnQrK31leGVjKGUpewpjb25zdCB0PXRoaXMuZ2V0TWF0Y2hlcih0aGlzLnJlZ2V4SW5kZXgpO3QubGFzdEluZGV4PXRoaXMubGFzdEluZGV4CjtsZXQgbj10LmV4ZWMoZSkKO2lmKHRoaXMucmVzdW1pbmdTY2FuQXRTYW1lUG9zaXRpb24oKSlpZihuJiZuLmluZGV4PT09dGhpcy5sYXN0SW5kZXgpO2Vsc2V7CmNvbnN0IHQ9dGhpcy5nZXRNYXRjaGVyKDApO3QubGFzdEluZGV4PXRoaXMubGFzdEluZGV4KzEsbj10LmV4ZWMoZSl9CnJldHVybiBuJiYodGhpcy5yZWdleEluZGV4Kz1uLnBvc2l0aW9uKzEsCnRoaXMucmVnZXhJbmRleD09PXRoaXMuY291bnQmJnRoaXMuY29uc2lkZXJBbGwoKSksbn19CmlmKGUuY29tcGlsZXJFeHRlbnNpb25zfHwoZS5jb21waWxlckV4dGVuc2lvbnM9W10pLAplLmNvbnRhaW5zJiZlLmNvbnRhaW5zLmluY2x1ZGVzKCJzZWxmIikpdGhyb3cgRXJyb3IoIkVSUjogY29udGFpbnMgYHNlbGZgIGlzIG5vdCBzdXBwb3J0ZWQgYXQgdGhlIHRvcC1sZXZlbCBvZiBhIGxhbmd1YWdlLiAgU2VlIGRvY3VtZW50YXRpb24uIikKO3JldHVybiBlLmNsYXNzTmFtZUFsaWFzZXM9YShlLmNsYXNzTmFtZUFsaWFzZXN8fHt9KSxmdW5jdGlvbiB0KHMsaSl7Y29uc3Qgbz1zCjtpZihzLmNvbXBpbGVkKXJldHVybiBvCjtbT10uZm9yRWFjaCgoZT0+ZShzLGkpKSksZS5jb21waWxlckV4dGVuc2lvbnMuZm9yRWFjaCgoZT0+ZShzLGkpKSksCnMuX19iZWZvcmVCZWdpbj1udWxsLFtrLE0sQV0uZm9yRWFjaCgoZT0+ZShzLGkpKSkscy5jb21waWxlZD0hMDtsZXQgbD1udWxsCjtpZigib2JqZWN0Ij09dHlwZW9mIHMua2V5d29yZHMmJihsPXMua2V5d29yZHMuJHBhdHRlcm4sCmRlbGV0ZSBzLmtleXdvcmRzLiRwYXR0ZXJuKSxzLmtleXdvcmRzJiYocy5rZXl3b3Jkcz0oKGUsdCk9Pntjb25zdCBuPXt9CjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/cygia2V5d29yZCIsZSk6T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e3ModCxlW3RdKQp9KSksbjtmdW5jdGlvbiBzKGUscyl7dCYmKHM9cy50b0xvd2VyQ2FzZSgpKSxzLnNwbGl0KCIgIikuZm9yRWFjaCgodD0+ewpjb25zdCBzPXQuc3BsaXQoInwiKTtuW3NbMF1dPVtlLEIoc1swXSxzWzFdKV19KSl9Cn0pKHMua2V5d29yZHMsZS5jYXNlX2luc2Vuc2l0aXZlKSksCnMubGV4ZW1lcyYmbCl0aHJvdyBFcnJvcigiRVJSOiBQcmVmZXIgYGtleXdvcmRzLiRwYXR0ZXJuYCB0byBgbW9kZS5sZXhlbWVzYCwgQk9USCBhcmUgbm90IGFsbG93ZWQuIChzZWUgbW9kZSByZWZlcmVuY2UpICIpCjtyZXR1cm4gbD1sfHxzLmxleGVtZXN8fC9cdysvLApvLmtleXdvcmRQYXR0ZXJuUmU9bihsLCEwKSxpJiYocy5iZWdpbnx8KHMuYmVnaW49L1xCfFxiLyksCm8uYmVnaW5SZT1uKHMuYmVnaW4pLHMuZW5kU2FtZUFzQmVnaW4mJihzLmVuZD1zLmJlZ2luKSwKcy5lbmR8fHMuZW5kc1dpdGhQYXJlbnR8fChzLmVuZD0vXEJ8XGIvKSwKcy5lbmQmJihvLmVuZFJlPW4ocy5lbmQpKSxvLnRlcm1pbmF0b3JFbmQ9dShzLmVuZCl8fCIiLApzLmVuZHNXaXRoUGFyZW50JiZpLnRlcm1pbmF0b3JFbmQmJihvLnRlcm1pbmF0b3JFbmQrPShzLmVuZD8ifCI6IiIpK2kudGVybWluYXRvckVuZCkpLApzLmlsbGVnYWwmJihvLmlsbGVnYWxSZT1uKHMuaWxsZWdhbCkpLApzLmNvbnRhaW5zfHwocy5jb250YWlucz1bXSkscy5jb250YWlucz1bXS5jb25jYXQoLi4ucy5jb250YWlucy5tYXAoKGU9PihlPT4oZS52YXJpYW50cyYmIWUuY2FjaGVkVmFyaWFudHMmJihlLmNhY2hlZFZhcmlhbnRzPWUudmFyaWFudHMubWFwKCh0PT5hKGUsewp2YXJpYW50czpudWxsfSx0KSkpKSxlLmNhY2hlZFZhcmlhbnRzP2UuY2FjaGVkVmFyaWFudHM6VChlKT9hKGUsewpzdGFydHM6ZS5zdGFydHM/YShlLnN0YXJ0cyk6bnVsbAp9KTpPYmplY3QuaXNGcm96ZW4oZSk/YShlKTplKSkoInNlbGYiPT09ZT9zOmUpKSkpLHMuY29udGFpbnMuZm9yRWFjaCgoZT0+e3QoZSxvKQp9KSkscy5zdGFydHMmJnQocy5zdGFydHMsaSksby5tYXRjaGVyPShlPT57Y29uc3QgdD1uZXcgcgo7cmV0dXJuIGUuY29udGFpbnMuZm9yRWFjaCgoZT0+dC5hZGRSdWxlKGUuYmVnaW4se3J1bGU6ZSx0eXBlOiJiZWdpbiIKfSkpKSxlLnRlcm1pbmF0b3JFbmQmJnQuYWRkUnVsZShlLnRlcm1pbmF0b3JFbmQse3R5cGU6ImVuZCIKfSksZS5pbGxlZ2FsJiZ0LmFkZFJ1bGUoZS5pbGxlZ2FsLHt0eXBlOiJpbGxlZ2FsIn0pLHR9KShvKSxvfShlKX1mdW5jdGlvbiBUKGUpewpyZXR1cm4hIWUmJihlLmVuZHNXaXRoUGFyZW50fHxUKGUuc3RhcnRzKSl9ZnVuY3Rpb24gaihlKXtjb25zdCB0PXsKcHJvcHM6WyJsYW5ndWFnZSIsImNvZGUiLCJhdXRvZGV0ZWN0Il0sZGF0YTooKT0+KHtkZXRlY3RlZExhbmd1YWdlOiIiLAp1bmtub3duTGFuZ3VhZ2U6ITF9KSxjb21wdXRlZDp7Y2xhc3NOYW1lKCl7CnJldHVybiB0aGlzLnVua25vd25MYW5ndWFnZT8iIjoiaGxqcyAiK3RoaXMuZGV0ZWN0ZWRMYW5ndWFnZX0saGlnaGxpZ2h0ZWQoKXsKaWYoIXRoaXMuYXV0b0RldGVjdCYmIWUuZ2V0TGFuZ3VhZ2UodGhpcy5sYW5ndWFnZSkpcmV0dXJuIGNvbnNvbGUud2FybihgVGhlIGxhbmd1YWdlICIke3RoaXMubGFuZ3VhZ2V9IiB5b3Ugc3BlY2lmaWVkIGNvdWxkIG5vdCBiZSBmb3VuZC5gKSwKdGhpcy51bmtub3duTGFuZ3VhZ2U9ITAscih0aGlzLmNvZGUpO2xldCB0PXt9CjtyZXR1cm4gdGhpcy5hdXRvRGV0ZWN0Pyh0PWUuaGlnaGxpZ2h0QXV0byh0aGlzLmNvZGUpLAp0aGlzLmRldGVjdGVkTGFuZ3VhZ2U9dC5sYW5ndWFnZSk6KHQ9ZS5oaWdobGlnaHQodGhpcy5sYW5ndWFnZSx0aGlzLmNvZGUsdGhpcy5pZ25vcmVJbGxlZ2FscyksCnRoaXMuZGV0ZWN0ZWRMYW5ndWFnZT10aGlzLmxhbmd1YWdlKSx0LnZhbHVlfSxhdXRvRGV0ZWN0KCl7CnJldHVybiEodGhpcy5sYW5ndWFnZSYmKGU9dGhpcy5hdXRvZGV0ZWN0LCFlJiYiIiE9PWUpKTt2YXIgZX0sCmlnbm9yZUlsbGVnYWxzOigpPT4hMH0scmVuZGVyKGUpe3JldHVybiBlKCJwcmUiLHt9LFtlKCJjb2RlIix7CmNsYXNzOnRoaXMuY2xhc3NOYW1lLGRvbVByb3BzOntpbm5lckhUTUw6dGhpcy5oaWdobGlnaHRlZH19KV0pfX07cmV0dXJuewpDb21wb25lbnQ6dCxWdWVQbHVnaW46e2luc3RhbGwoZSl7ZS5jb21wb25lbnQoImhpZ2hsaWdodGpzIix0KX19fX1jb25zdCBTPXsKImFmdGVyOmhpZ2hsaWdodEJsb2NrIjooe2Jsb2NrOmUscmVzdWx0OnQsdGV4dDpufSk9Pntjb25zdCBzPUQoZSkKO2lmKCFzLmxlbmd0aClyZXR1cm47Y29uc3QgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKQo7YS5pbm5lckhUTUw9dC52YWx1ZSx0LnZhbHVlPSgoZSx0LG4pPT57bGV0IHM9MCxhPSIiO2NvbnN0IGk9W107ZnVuY3Rpb24gbygpewpyZXR1cm4gZS5sZW5ndGgmJnQubGVuZ3RoP2VbMF0ub2Zmc2V0IT09dFswXS5vZmZzZXQ/ZVswXS5vZmZzZXQ8dFswXS5vZmZzZXQ/ZTp0OiJzdGFydCI9PT10WzBdLmV2ZW50P2U6dDplLmxlbmd0aD9lOnQKfWZ1bmN0aW9uIGwoZSl7YSs9IjwiK1AoZSkrW10ubWFwLmNhbGwoZS5hdHRyaWJ1dGVzLChmdW5jdGlvbihlKXsKcmV0dXJuIiAiK2Uubm9kZU5hbWUrJz0iJytyKGUudmFsdWUpKyciJ30pKS5qb2luKCIiKSsiPiJ9ZnVuY3Rpb24gYyhlKXsKYSs9IjwvIitQKGUpKyI+In1mdW5jdGlvbiB1KGUpeygic3RhcnQiPT09ZS5ldmVudD9sOmMpKGUubm9kZSl9CmZvcig7ZS5sZW5ndGh8fHQubGVuZ3RoOyl7bGV0IHQ9bygpCjtpZihhKz1yKG4uc3Vic3RyaW5nKHMsdFswXS5vZmZzZXQpKSxzPXRbMF0ub2Zmc2V0LHQ9PT1lKXtpLnJldmVyc2UoKS5mb3JFYWNoKGMpCjtkb3t1KHQuc3BsaWNlKDAsMSlbMF0pLHQ9bygpfXdoaWxlKHQ9PT1lJiZ0Lmxlbmd0aCYmdFswXS5vZmZzZXQ9PT1zKQo7aS5yZXZlcnNlKCkuZm9yRWFjaChsKQp9ZWxzZSJzdGFydCI9PT10WzBdLmV2ZW50P2kucHVzaCh0WzBdLm5vZGUpOmkucG9wKCksdSh0LnNwbGljZSgwLDEpWzBdKX0KcmV0dXJuIGErcihuLnN1YnN0cihzKSl9KShzLEQoYSksbil9fTtmdW5jdGlvbiBQKGUpewpyZXR1cm4gZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIEQoZSl7Y29uc3QgdD1bXTtyZXR1cm4gZnVuY3Rpb24gZShuLHMpewpmb3IobGV0IHI9bi5maXJzdENoaWxkO3I7cj1yLm5leHRTaWJsaW5nKTM9PT1yLm5vZGVUeXBlP3MrPXIubm9kZVZhbHVlLmxlbmd0aDoxPT09ci5ub2RlVHlwZSYmKHQucHVzaCh7CmV2ZW50OiJzdGFydCIsb2Zmc2V0OnMsbm9kZTpyfSkscz1lKHIscyksUChyKS5tYXRjaCgvYnJ8aHJ8aW1nfGlucHV0Lyl8fHQucHVzaCh7CmV2ZW50OiJzdG9wIixvZmZzZXQ6cyxub2RlOnJ9KSk7cmV0dXJuIHN9KGUsMCksdH1jb25zdCBDPWU9Pntjb25zb2xlLmVycm9yKGUpCn0sSD0oZSwuLi50KT0+e2NvbnNvbGUubG9nKCJXQVJOOiAiK2UsLi4udCl9LCQ9KGUsdCk9PnsKY29uc29sZS5sb2coYERlcHJlY2F0ZWQgYXMgb2YgJHtlfS4gJHt0fWApfSxVPXIsej1hLEs9U3ltYm9sKCJub21hdGNoIikKO3JldHVybihlPT57Y29uc3Qgbj1PYmplY3QuY3JlYXRlKG51bGwpLHI9T2JqZWN0LmNyZWF0ZShudWxsKSxhPVtdO2xldCBpPSEwCjtjb25zdCBvPS8oXig8W14+XSs+fFx0fCkrfFxuKS9nbSxsPSJDb3VsZCBub3QgZmluZCB0aGUgbGFuZ3VhZ2UgJ3t9JywgZGlkIHlvdSBmb3JnZXQgdG8gbG9hZC9pbmNsdWRlIGEgbGFuZ3VhZ2UgbW9kdWxlPyIsdT17CmRpc2FibGVBdXRvZGV0ZWN0OiEwLG5hbWU6IlBsYWluIHRleHQiLGNvbnRhaW5zOltdfTtsZXQgZz17Cm5vSGlnaGxpZ2h0UmU6L14obm8tP2hpZ2hsaWdodCkkL2ksCmxhbmd1YWdlRGV0ZWN0UmU6L1xibGFuZyg/OnVhZ2UpPy0oW1x3LV0rKVxiL2ksY2xhc3NQcmVmaXg6ImhsanMtIiwKdGFiUmVwbGFjZTpudWxsLHVzZUJSOiExLGxhbmd1YWdlczpudWxsLF9fZW1pdHRlcjpjfTtmdW5jdGlvbiBkKGUpewpyZXR1cm4gZy5ub0hpZ2hsaWdodFJlLnRlc3QoZSl9ZnVuY3Rpb24gaChlLHQsbixzKXtjb25zdCByPXtjb2RlOnQsbGFuZ3VhZ2U6ZX0KO18oImJlZm9yZTpoaWdobGlnaHQiLHIpO2NvbnN0IGE9ci5yZXN1bHQ/ci5yZXN1bHQ6ZihyLmxhbmd1YWdlLHIuY29kZSxuLHMpCjtyZXR1cm4gYS5jb2RlPXIuY29kZSxfKCJhZnRlcjpoaWdobGlnaHQiLGEpLGF9ZnVuY3Rpb24gZihlLHQscixvKXtjb25zdCBjPXQKO2Z1bmN0aW9uIHUoZSx0KXtjb25zdCBuPXcuY2FzZV9pbnNlbnNpdGl2ZT90WzBdLnRvTG93ZXJDYXNlKCk6dFswXQo7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmtleXdvcmRzLG4pJiZlLmtleXdvcmRzW25dfQpmdW5jdGlvbiBkKCl7bnVsbCE9Xy5zdWJMYW5ndWFnZT8oKCk9PntpZigiIj09PU8pcmV0dXJuO2xldCBlPW51bGwKO2lmKCJzdHJpbmciPT10eXBlb2YgXy5zdWJMYW5ndWFnZSl7CmlmKCFuW18uc3ViTGFuZ3VhZ2VdKXJldHVybiB2b2lkIE0uYWRkVGV4dChPKQo7ZT1mKF8uc3ViTGFuZ3VhZ2UsTywhMCxrW18uc3ViTGFuZ3VhZ2VdKSxrW18uc3ViTGFuZ3VhZ2VdPWUudG9wCn1lbHNlIGU9cChPLF8uc3ViTGFuZ3VhZ2UubGVuZ3RoP18uc3ViTGFuZ3VhZ2U6bnVsbCkKO18ucmVsZXZhbmNlPjAmJihBKz1lLnJlbGV2YW5jZSksTS5hZGRTdWJsYW5ndWFnZShlLmVtaXR0ZXIsZS5sYW5ndWFnZSkKfSkoKTooKCk9PntpZighXy5rZXl3b3JkcylyZXR1cm4gdm9pZCBNLmFkZFRleHQoTyk7bGV0IGU9MAo7Xy5rZXl3b3JkUGF0dGVyblJlLmxhc3RJbmRleD0wO2xldCB0PV8ua2V5d29yZFBhdHRlcm5SZS5leGVjKE8pLG49IiI7Zm9yKDt0Oyl7Cm4rPU8uc3Vic3RyaW5nKGUsdC5pbmRleCk7Y29uc3Qgcz11KF8sdCk7aWYocyl7Y29uc3RbZSxyXT1zCjtNLmFkZFRleHQobiksbj0iIixBKz1yO2NvbnN0IGE9dy5jbGFzc05hbWVBbGlhc2VzW2VdfHxlO00uYWRkS2V5d29yZCh0WzBdLGEpCn1lbHNlIG4rPXRbMF07ZT1fLmtleXdvcmRQYXR0ZXJuUmUubGFzdEluZGV4LHQ9Xy5rZXl3b3JkUGF0dGVyblJlLmV4ZWMoTyl9Cm4rPU8uc3Vic3RyKGUpLE0uYWRkVGV4dChuKX0pKCksTz0iIn1mdW5jdGlvbiBoKGUpewpyZXR1cm4gZS5jbGFzc05hbWUmJk0ub3Blbk5vZGUody5jbGFzc05hbWVBbGlhc2VzW2UuY2xhc3NOYW1lXXx8ZS5jbGFzc05hbWUpLApfPU9iamVjdC5jcmVhdGUoZSx7cGFyZW50Ont2YWx1ZTpffX0pLF99ZnVuY3Rpb24gbShlLHQsbil7bGV0IHI9KChlLHQpPT57CmNvbnN0IG49ZSYmZS5leGVjKHQpO3JldHVybiBuJiYwPT09bi5pbmRleH0pKGUuZW5kUmUsbik7aWYocil7aWYoZVsib246ZW5kIl0pewpjb25zdCBuPW5ldyBzKGUpO2VbIm9uOmVuZCJdKHQsbiksbi5pZ25vcmUmJihyPSExKX1pZihyKXsKZm9yKDtlLmVuZHNQYXJlbnQmJmUucGFyZW50OyllPWUucGFyZW50O3JldHVybiBlfX0KaWYoZS5lbmRzV2l0aFBhcmVudClyZXR1cm4gbShlLnBhcmVudCx0LG4pfWZ1bmN0aW9uIGIoZSl7CnJldHVybiAwPT09Xy5tYXRjaGVyLnJlZ2V4SW5kZXg/KE8rPWVbMF0sMSk6KFQ9ITAsMCl9ZnVuY3Rpb24geChlKXsKY29uc3QgdD1lWzBdLG49Yy5zdWJzdHIoZS5pbmRleCkscz1tKF8sZSxuKTtpZighcylyZXR1cm4gSztjb25zdCByPV8KO3Iuc2tpcD9PKz10OihyLnJldHVybkVuZHx8ci5leGNsdWRlRW5kfHwoTys9dCksZCgpLHIuZXhjbHVkZUVuZCYmKE89dCkpO2RvewpfLmNsYXNzTmFtZSYmTS5jbG9zZU5vZGUoKSxfLnNraXB8fF8uc3ViTGFuZ3VhZ2V8fChBKz1fLnJlbGV2YW5jZSksXz1fLnBhcmVudAp9d2hpbGUoXyE9PXMucGFyZW50KQo7cmV0dXJuIHMuc3RhcnRzJiYocy5lbmRTYW1lQXNCZWdpbiYmKHMuc3RhcnRzLmVuZFJlPXMuZW5kUmUpLApoKHMuc3RhcnRzKSksci5yZXR1cm5FbmQ/MDp0Lmxlbmd0aH1sZXQgRT17fTtmdW5jdGlvbiB2KHQsbil7Y29uc3QgYT1uJiZuWzBdCjtpZihPKz10LG51bGw9PWEpcmV0dXJuIGQoKSwwCjtpZigiYmVnaW4iPT09RS50eXBlJiYiZW5kIj09PW4udHlwZSYmRS5pbmRleD09PW4uaW5kZXgmJiIiPT09YSl7CmlmKE8rPWMuc2xpY2Uobi5pbmRleCxuLmluZGV4KzEpLCFpKXtjb25zdCB0PUVycm9yKCIwIHdpZHRoIG1hdGNoIHJlZ2V4IikKO3Rocm93IHQubGFuZ3VhZ2VOYW1lPWUsdC5iYWRSdWxlPUUucnVsZSx0fXJldHVybiAxfQppZihFPW4sImJlZ2luIj09PW4udHlwZSlyZXR1cm4gZnVuY3Rpb24oZSl7CmNvbnN0IHQ9ZVswXSxuPWUucnVsZSxyPW5ldyBzKG4pLGE9W24uX19iZWZvcmVCZWdpbixuWyJvbjpiZWdpbiJdXQo7Zm9yKGNvbnN0IG4gb2YgYSlpZihuJiYobihlLHIpLHIuaWdub3JlKSlyZXR1cm4gYih0KQo7cmV0dXJuIG4mJm4uZW5kU2FtZUFzQmVnaW4mJihuLmVuZFJlPVJlZ0V4cCh0LnJlcGxhY2UoL1stL1xcXiQqKz8uKCl8W1xde31dL2csIlxcJCYiKSwibSIpKSwKbi5za2lwP08rPXQ6KG4uZXhjbHVkZUJlZ2luJiYoTys9dCksCmQoKSxuLnJldHVybkJlZ2lufHxuLmV4Y2x1ZGVCZWdpbnx8KE89dCkpLGgobiksbi5yZXR1cm5CZWdpbj8wOnQubGVuZ3RofShuKQo7aWYoImlsbGVnYWwiPT09bi50eXBlJiYhcil7CmNvbnN0IGU9RXJyb3IoJ0lsbGVnYWwgbGV4ZW1lICInK2ErJyIgZm9yIG1vZGUgIicrKF8uY2xhc3NOYW1lfHwiPHVubmFtZWQ+IikrJyInKQo7dGhyb3cgZS5tb2RlPV8sZX1pZigiZW5kIj09PW4udHlwZSl7Y29uc3QgZT14KG4pO2lmKGUhPT1LKXJldHVybiBlfQppZigiaWxsZWdhbCI9PT1uLnR5cGUmJiIiPT09YSlyZXR1cm4gMQo7aWYoQj4xZTUmJkI+MypuLmluZGV4KXRocm93IEVycm9yKCJwb3RlbnRpYWwgaW5maW5pdGUgbG9vcCwgd2F5IG1vcmUgaXRlcmF0aW9ucyB0aGFuIG1hdGNoZXMiKQo7cmV0dXJuIE8rPWEsYS5sZW5ndGh9Y29uc3Qgdz1OKGUpCjtpZighdyl0aHJvdyBDKGwucmVwbGFjZSgie30iLGUpKSxFcnJvcignVW5rbm93biBsYW5ndWFnZTogIicrZSsnIicpCjtjb25zdCBSPUkodyx7cGx1Z2luczphfSk7bGV0IHk9IiIsXz1vfHxSO2NvbnN0IGs9e30sTT1uZXcgZy5fX2VtaXR0ZXIoZyk7KCgpPT57CmNvbnN0IGU9W107Zm9yKGxldCB0PV87dCE9PXc7dD10LnBhcmVudCl0LmNsYXNzTmFtZSYmZS51bnNoaWZ0KHQuY2xhc3NOYW1lKQo7ZS5mb3JFYWNoKChlPT5NLm9wZW5Ob2RlKGUpKSl9KSgpO2xldCBPPSIiLEE9MCxMPTAsQj0wLFQ9ITE7dHJ5ewpmb3IoXy5tYXRjaGVyLmNvbnNpZGVyQWxsKCk7Oyl7CkIrKyxUP1Q9ITE6Xy5tYXRjaGVyLmNvbnNpZGVyQWxsKCksXy5tYXRjaGVyLmxhc3RJbmRleD1MCjtjb25zdCBlPV8ubWF0Y2hlci5leGVjKGMpO2lmKCFlKWJyZWFrO2NvbnN0IHQ9dihjLnN1YnN0cmluZyhMLGUuaW5kZXgpLGUpCjtMPWUuaW5kZXgrdH1yZXR1cm4gdihjLnN1YnN0cihMKSksTS5jbG9zZUFsbE5vZGVzKCksTS5maW5hbGl6ZSgpLHk9TS50b0hUTUwoKSx7CnJlbGV2YW5jZTpBLHZhbHVlOnksbGFuZ3VhZ2U6ZSxpbGxlZ2FsOiExLGVtaXR0ZXI6TSx0b3A6X319Y2F0Y2godCl7CmlmKHQubWVzc2FnZSYmdC5tZXNzYWdlLmluY2x1ZGVzKCJJbGxlZ2FsIikpcmV0dXJue2lsbGVnYWw6ITAsaWxsZWdhbEJ5OnsKbXNnOnQubWVzc2FnZSxjb250ZXh0OmMuc2xpY2UoTC0xMDAsTCsxMDApLG1vZGU6dC5tb2RlfSxzb2Zhcjp5LHJlbGV2YW5jZTowLAp2YWx1ZTpVKGMpLGVtaXR0ZXI6TX07aWYoaSlyZXR1cm57aWxsZWdhbDohMSxyZWxldmFuY2U6MCx2YWx1ZTpVKGMpLGVtaXR0ZXI6TSwKbGFuZ3VhZ2U6ZSx0b3A6XyxlcnJvclJhaXNlZDp0fTt0aHJvdyB0fX1mdW5jdGlvbiBwKGUsdCl7CnQ9dHx8Zy5sYW5ndWFnZXN8fE9iamVjdC5rZXlzKG4pO2NvbnN0IHM9KGU9Pntjb25zdCB0PXtyZWxldmFuY2U6MCwKZW1pdHRlcjpuZXcgZy5fX2VtaXR0ZXIoZyksdmFsdWU6VShlKSxpbGxlZ2FsOiExLHRvcDp1fQo7cmV0dXJuIHQuZW1pdHRlci5hZGRUZXh0KGUpLHR9KShlKSxyPXQuZmlsdGVyKE4pLmZpbHRlcihSKS5tYXAoKHQ9PmYodCxlLCExKSkpCjtyLnVuc2hpZnQocyk7Y29uc3QgYT1yLnNvcnQoKChlLHQpPT57CmlmKGUucmVsZXZhbmNlIT09dC5yZWxldmFuY2UpcmV0dXJuIHQucmVsZXZhbmNlLWUucmVsZXZhbmNlCjtpZihlLmxhbmd1YWdlJiZ0Lmxhbmd1YWdlKXtpZihOKGUubGFuZ3VhZ2UpLnN1cGVyc2V0T2Y9PT10Lmxhbmd1YWdlKXJldHVybiAxCjtpZihOKHQubGFuZ3VhZ2UpLnN1cGVyc2V0T2Y9PT1lLmxhbmd1YWdlKXJldHVybi0xfXJldHVybiAwfSkpLFtpLG9dPWEsbD1pCjtyZXR1cm4gbC5zZWNvbmRfYmVzdD1vLGx9Y29uc3QgbT17ImJlZm9yZTpoaWdobGlnaHRCbG9jayI6KHtibG9jazplfSk9PnsKZy51c2VCUiYmKGUuaW5uZXJIVE1MPWUuaW5uZXJIVE1MLnJlcGxhY2UoL1xuL2csIiIpLnJlcGxhY2UoLzxiclsgL10qPi9nLCJcbiIpKQp9LCJhZnRlcjpoaWdobGlnaHRCbG9jayI6KHtyZXN1bHQ6ZX0pPT57CmcudXNlQlImJihlLnZhbHVlPWUudmFsdWUucmVwbGFjZSgvXG4vZywiPGJyPiIpKX19LGI9L14oPFtePl0rPnxcdCkrL2dtLHg9ewoiYWZ0ZXI6aGlnaGxpZ2h0QmxvY2siOih7cmVzdWx0OmV9KT0+ewpnLnRhYlJlcGxhY2UmJihlLnZhbHVlPWUudmFsdWUucmVwbGFjZShiLChlPT5lLnJlcGxhY2UoL1x0L2csZy50YWJSZXBsYWNlKSkpKX19CjtmdW5jdGlvbiBFKGUpe2xldCB0PW51bGw7Y29uc3Qgbj0oZT0+e2xldCB0PWUuY2xhc3NOYW1lKyIgIgo7dCs9ZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5jbGFzc05hbWU6IiI7Y29uc3Qgbj1nLmxhbmd1YWdlRGV0ZWN0UmUuZXhlYyh0KQo7aWYobil7Y29uc3QgdD1OKG5bMV0pCjtyZXR1cm4gdHx8KEgobC5yZXBsYWNlKCJ7fSIsblsxXSkpLEgoIkZhbGxpbmcgYmFjayB0byBuby1oaWdobGlnaHQgbW9kZSBmb3IgdGhpcyBibG9jay4iLGUpKSwKdD9uWzFdOiJuby1oaWdobGlnaHQifXJldHVybiB0LnNwbGl0KC9ccysvKS5maW5kKChlPT5kKGUpfHxOKGUpKSl9KShlKQo7aWYoZChuKSlyZXR1cm47XygiYmVmb3JlOmhpZ2hsaWdodEJsb2NrIix7YmxvY2s6ZSxsYW5ndWFnZTpufSksdD1lCjtjb25zdCBzPXQudGV4dENvbnRlbnQsYT1uP2gobixzLCEwKTpwKHMpO18oImFmdGVyOmhpZ2hsaWdodEJsb2NrIix7YmxvY2s6ZSwKcmVzdWx0OmEsdGV4dDpzfSksZS5pbm5lckhUTUw9YS52YWx1ZSwoKGUsdCxuKT0+e2NvbnN0IHM9dD9yW3RdOm4KO2UuY2xhc3NMaXN0LmFkZCgiaGxqcyIpLHMmJmUuY2xhc3NMaXN0LmFkZChzKX0pKGUsbixhLmxhbmd1YWdlKSxlLnJlc3VsdD17Cmxhbmd1YWdlOmEubGFuZ3VhZ2UscmU6YS5yZWxldmFuY2UscmVsYXZhbmNlOmEucmVsZXZhbmNlCn0sYS5zZWNvbmRfYmVzdCYmKGUuc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOmEuc2Vjb25kX2Jlc3QubGFuZ3VhZ2UsCnJlOmEuc2Vjb25kX2Jlc3QucmVsZXZhbmNlLHJlbGF2YW5jZTphLnNlY29uZF9iZXN0LnJlbGV2YW5jZX0pfWNvbnN0IHY9KCk9PnsKdi5jYWxsZWR8fCh2LmNhbGxlZD0hMCxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJwcmUgY29kZSIpLmZvckVhY2goRSkpfQo7ZnVuY3Rpb24gTihlKXtyZXR1cm4gZT0oZXx8IiIpLnRvTG93ZXJDYXNlKCksbltlXXx8bltyW2VdXX0KZnVuY3Rpb24gdyhlLHtsYW5ndWFnZU5hbWU6dH0peyJzdHJpbmciPT10eXBlb2YgZSYmKGU9W2VdKSxlLmZvckVhY2goKGU9PntyW2VdPXQKfSkpfWZ1bmN0aW9uIFIoZSl7Y29uc3QgdD1OKGUpO3JldHVybiB0JiYhdC5kaXNhYmxlQXV0b2RldGVjdH1mdW5jdGlvbiBfKGUsdCl7CmNvbnN0IG49ZTthLmZvckVhY2goKGU9PntlW25dJiZlW25dKHQpfSkpfU9iamVjdC5hc3NpZ24oZSx7aGlnaGxpZ2h0OmgsCmhpZ2hsaWdodEF1dG86cCxmaXhNYXJrdXA6ZT0+ewpyZXR1cm4gJCgiMTAuMi4wIiwiZml4TWFya3VwIHdpbGwgYmUgcmVtb3ZlZCBlbnRpcmVseSBpbiB2MTEuMCIpLAokKCIxMC4yLjAiLCJQbGVhc2Ugc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oaWdobGlnaHRqcy9oaWdobGlnaHQuanMvaXNzdWVzLzI1MzQiKSwKdD1lLApnLnRhYlJlcGxhY2V8fGcudXNlQlI/dC5yZXBsYWNlKG8sKGU9PiJcbiI9PT1lP2cudXNlQlI/Ijxicj4iOmU6Zy50YWJSZXBsYWNlP2UucmVwbGFjZSgvXHQvZyxnLnRhYlJlcGxhY2UpOmUpKTp0Cjt2YXIgdH0saGlnaGxpZ2h0QmxvY2s6RSxjb25maWd1cmU6ZT0+ewplLnVzZUJSJiYoJCgiMTAuMy4wIiwiJ3VzZUJSJyB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gdjExLjAiKSwKJCgiMTAuMy4wIiwiUGxlYXNlIHNlZSBodHRwczovL2dpdGh1Yi5jb20vaGlnaGxpZ2h0anMvaGlnaGxpZ2h0LmpzL2lzc3Vlcy8yNTU5IikpLApnPXooZyxlKX0saW5pdEhpZ2hsaWdodGluZzp2LGluaXRIaWdobGlnaHRpbmdPbkxvYWQ6KCk9PnsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHYsITEpfSxyZWdpc3Rlckxhbmd1YWdlOih0LHMpPT57CmxldCByPW51bGw7dHJ5e3I9cyhlKX1jYXRjaChlKXsKaWYoQygiTGFuZ3VhZ2UgZGVmaW5pdGlvbiBmb3IgJ3t9JyBjb3VsZCBub3QgYmUgcmVnaXN0ZXJlZC4iLnJlcGxhY2UoInt9Iix0KSksCiFpKXRocm93IGU7QyhlKSxyPXV9CnIubmFtZXx8KHIubmFtZT10KSxuW3RdPXIsci5yYXdEZWZpbml0aW9uPXMuYmluZChudWxsLGUpLHIuYWxpYXNlcyYmdyhyLmFsaWFzZXMsewpsYW5ndWFnZU5hbWU6dH0pfSxsaXN0TGFuZ3VhZ2VzOigpPT5PYmplY3Qua2V5cyhuKSxnZXRMYW5ndWFnZTpOLApyZWdpc3RlckFsaWFzZXM6dyxyZXF1aXJlTGFuZ3VhZ2U6ZT0+ewokKCIxMC40LjAiLCJyZXF1aXJlTGFuZ3VhZ2Ugd2lsbCBiZSByZW1vdmVkIGVudGlyZWx5IGluIHYxMS4iKSwKJCgiMTAuNC4wIiwiUGxlYXNlIHNlZSBodHRwczovL2dpdGh1Yi5jb20vaGlnaGxpZ2h0anMvaGlnaGxpZ2h0LmpzL3B1bGwvMjg0NCIpCjtjb25zdCB0PU4oZSk7aWYodClyZXR1cm4gdAo7dGhyb3cgRXJyb3IoIlRoZSAne30nIGxhbmd1YWdlIGlzIHJlcXVpcmVkLCBidXQgbm90IGxvYWRlZC4iLnJlcGxhY2UoInt9IixlKSl9LAphdXRvRGV0ZWN0aW9uOlIsaW5oZXJpdDp6LGFkZFBsdWdpbjplPT57YS5wdXNoKGUpfSx2dWVQbHVnaW46aihlKS5WdWVQbHVnaW4KfSksZS5kZWJ1Z01vZGU9KCk9PntpPSExfSxlLnNhZmVNb2RlPSgpPT57aT0hMH0sZS52ZXJzaW9uU3RyaW5nPSIxMC41LjAiCjtmb3IoY29uc3QgZSBpbiB5KSJvYmplY3QiPT10eXBlb2YgeVtlXSYmdCh5W2VdKQo7cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx5KSxlLmFkZFBsdWdpbihtKSxlLmFkZFBsdWdpbihTKSxlLmFkZFBsdWdpbih4KSxlfSkoe30pCn0oKTsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiYobW9kdWxlLmV4cG9ydHM9aGxqcyk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgiYXBhY2hlIiwoKCk9PnsidXNlIHN0cmljdCI7cmV0dXJuIGU9Pntjb25zdCBuPXsKY2xhc3NOYW1lOiJudW1iZXIiLGJlZ2luOi9cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KDpcZHsxLDV9KT8vfQo7cmV0dXJue25hbWU6IkFwYWNoZSBjb25maWciLGFsaWFzZXM6WyJhcGFjaGVjb25mIl0sY2FzZV9pbnNlbnNpdGl2ZTohMCwKY29udGFpbnM6W2UuSEFTSF9DT01NRU5UX01PREUse2NsYXNzTmFtZToic2VjdGlvbiIsYmVnaW46LzxcLz8vLGVuZDovPi8sCmNvbnRhaW5zOltuLHtjbGFzc05hbWU6Im51bWJlciIsYmVnaW46LzpcZHsxLDV9Lwp9LGUuaW5oZXJpdChlLlFVT1RFX1NUUklOR19NT0RFLHtyZWxldmFuY2U6MH0pXX0se2NsYXNzTmFtZToiYXR0cmlidXRlIiwKYmVnaW46L1x3Ky8scmVsZXZhbmNlOjAsa2V5d29yZHM6ewpub21hcmt1cDoib3JkZXIgZGVueSBhbGxvdyBzZXRlbnYgcmV3cml0ZXJ1bGUgcmV3cml0ZWVuZ2luZSByZXdyaXRlY29uZCBkb2N1bWVudHJvb3Qgc2V0aGFuZGxlciBlcnJvcmRvY3VtZW50IGxvYWRtb2R1bGUgb3B0aW9ucyBoZWFkZXIgbGlzdGVuIHNlcnZlcnJvb3Qgc2VydmVybmFtZSIKfSxzdGFydHM6e2VuZDovJC8scmVsZXZhbmNlOjAsa2V5d29yZHM6e2xpdGVyYWw6Im9uIG9mZiBhbGwgZGVueSBhbGxvdyJ9LApjb250YWluczpbe2NsYXNzTmFtZToibWV0YSIsYmVnaW46L1xzXFsvLGVuZDovXF0kL30se2NsYXNzTmFtZToidmFyaWFibGUiLApiZWdpbjovW1wkJV1cey8sZW5kOi9cfS8sY29udGFpbnM6WyJzZWxmIix7Y2xhc3NOYW1lOiJudW1iZXIiLGJlZ2luOi9bJCVdXGQrL31dCn0sbix7Y2xhc3NOYW1lOiJudW1iZXIiLGJlZ2luOi9cZCsvfSxlLlFVT1RFX1NUUklOR19NT0RFXX19XSxpbGxlZ2FsOi9cUy99fQp9KSgpKTsKaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJiYXNoIiwoKCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSguLi5lKXsKcmV0dXJuIGUubWFwKChlPT57cmV0dXJuKHM9ZSk/InN0cmluZyI9PXR5cGVvZiBzP3M6cy5zb3VyY2U6bnVsbDt2YXIgcwp9KSkuam9pbigiIil9cmV0dXJuIHM9Pntjb25zdCBuPXt9LHQ9e2JlZ2luOi9cJFx7LyxlbmQ6L1x9Lyxjb250YWluczpbInNlbGYiLHsKYmVnaW46LzotLyxjb250YWluczpbbl19XX07T2JqZWN0LmFzc2lnbihuLHtjbGFzc05hbWU6InZhcmlhYmxlIix2YXJpYW50czpbewpiZWdpbjplKC9cJFtcd1xkI0BdW1x3XGRfXSovLCIoPyFbXFx3XFxkXSkoPyFbJF0pIil9LHRdfSk7Y29uc3QgYT17CmNsYXNzTmFtZToic3Vic3QiLGJlZ2luOi9cJFwoLyxlbmQ6L1wpLyxjb250YWluczpbcy5CQUNLU0xBU0hfRVNDQVBFXX0saT17CmJlZ2luOi88PC0/XHMqKD89XHcrKS8sc3RhcnRzOntjb250YWluczpbcy5FTkRfU0FNRV9BU19CRUdJTih7YmVnaW46LyhcdyspLywKZW5kOi8oXHcrKS8sY2xhc3NOYW1lOiJzdHJpbmcifSldfX0sYz17Y2xhc3NOYW1lOiJzdHJpbmciLGJlZ2luOi8iLyxlbmQ6LyIvLApjb250YWluczpbcy5CQUNLU0xBU0hfRVNDQVBFLG4sYV19O2EuY29udGFpbnMucHVzaChjKTtjb25zdCBvPXtiZWdpbjovXCRcKFwoLywKZW5kOi9cKVwpLyxjb250YWluczpbe2JlZ2luOi9cZCsjWzAtOWEtZl0rLyxjbGFzc05hbWU6Im51bWJlciJ9LHMuTlVNQkVSX01PREUsbl0KfSxyPXMuU0hFQkFORyh7YmluYXJ5OiIoZmlzaHxiYXNofHpzaHxzaHxjc2h8a3NofHRjc2h8ZGFzaHxzY3NoKSIscmVsZXZhbmNlOjEwCn0pLGw9e2NsYXNzTmFtZToiZnVuY3Rpb24iLGJlZ2luOi9cd1tcd1xkX10qXHMqXChccypcKVxzKlx7LyxyZXR1cm5CZWdpbjohMCwKY29udGFpbnM6W3MuaW5oZXJpdChzLlRJVExFX01PREUse2JlZ2luOi9cd1tcd1xkX10qL30pXSxyZWxldmFuY2U6MH07cmV0dXJuewpuYW1lOiJCYXNoIixhbGlhc2VzOlsic2giLCJ6c2giXSxrZXl3b3Jkczp7JHBhdHRlcm46L1xiW2Etei5fLV0rXGIvLAprZXl3b3JkOiJpZiB0aGVuIGVsc2UgZWxpZiBmaSBmb3Igd2hpbGUgaW4gZG8gZG9uZSBjYXNlIGVzYWMgZnVuY3Rpb24iLApsaXRlcmFsOiJ0cnVlIGZhbHNlIiwKYnVpbHRfaW46ImJyZWFrIGNkIGNvbnRpbnVlIGV2YWwgZXhlYyBleGl0IGV4cG9ydCBnZXRvcHRzIGhhc2ggcHdkIHJlYWRvbmx5IHJldHVybiBzaGlmdCB0ZXN0IHRpbWVzIHRyYXAgdW1hc2sgdW5zZXQgYWxpYXMgYmluZCBidWlsdGluIGNhbGxlciBjb21tYW5kIGRlY2xhcmUgZWNobyBlbmFibGUgaGVscCBsZXQgbG9jYWwgbG9nb3V0IG1hcGZpbGUgcHJpbnRmIHJlYWQgcmVhZGFycmF5IHNvdXJjZSB0eXBlIHR5cGVzZXQgdWxpbWl0IHVuYWxpYXMgc2V0IHNob3B0IGF1dG9sb2FkIGJnIGJpbmRrZXkgYnllIGNhcCBjaGRpciBjbG9uZSBjb21wYXJndW1lbnRzIGNvbXBjYWxsIGNvbXBjdGwgY29tcGRlc2NyaWJlIGNvbXBmaWxlcyBjb21wZ3JvdXBzIGNvbXBxdW90ZSBjb21wdGFncyBjb21wdHJ5IGNvbXB2YWx1ZXMgZGlycyBkaXNhYmxlIGRpc293biBlY2hvdGMgZWNob3RpIGVtdWxhdGUgZmMgZmcgZmxvYXQgZnVuY3Rpb25zIGdldGNhcCBnZXRsbiBoaXN0b3J5IGludGVnZXIgam9icyBraWxsIGxpbWl0IGxvZyBub2dsb2IgcG9wZCBwcmludCBwdXNoZCBwdXNobG4gcmVoYXNoIHNjaGVkIHNldGNhcCBzZXRvcHQgc3RhdCBzdXNwZW5kIHR0eWN0bCB1bmZ1bmN0aW9uIHVuaGFzaCB1bmxpbWl0IHVuc2V0b3B0IHZhcmVkIHdhaXQgd2hlbmNlIHdoZXJlIHdoaWNoIHpjb21waWxlIHpmb3JtYXQgemZ0cCB6bGUgem1vZGxvYWQgenBhcnNlb3B0cyB6cHJvZiB6cHR5IHpyZWdleHBhcnNlIHpzb2NrZXQgenN0eWxlIHp0Y3AiCn0sY29udGFpbnM6W3Iscy5TSEVCQU5HKCksbCxvLHMuSEFTSF9DT01NRU5UX01PREUsaSxjLHtjbGFzc05hbWU6IiIsYmVnaW46L1xcIi8KfSx7Y2xhc3NOYW1lOiJzdHJpbmciLGJlZ2luOi8nLyxlbmQ6LycvfSxuXX19fSkoKSk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgiYyIsKCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoZSl7CnJldHVybigoLi4uZSk9PmUubWFwKChlPT4oZT0+ZT8ic3RyaW5nIj09dHlwZW9mIGU/ZTplLnNvdXJjZTpudWxsKShlKSkpLmpvaW4oIiIpKSgiKCIsZSwiKT8iKQp9cmV0dXJuIHQ9Pntjb25zdCBuPSh0PT57Y29uc3Qgbj10LkNPTU1FTlQoIi8vIiwiJCIse2NvbnRhaW5zOlt7YmVnaW46L1xcXG4vfV0KfSkscj0iW2EtekEtWl9dXFx3Kjo6IixhPSIoZGVjbHR5cGVcXChhdXRvXFwpfCIrZShyKSsiW2EtekEtWl9dXFx3KiIrZSgiPFtePD5dKz4iKSsiKSIscz17CmNsYXNzTmFtZToia2V5d29yZCIsYmVnaW46IlxcYlthLXpcXGRfXSpfdFxcYiJ9LGk9e2NsYXNzTmFtZToic3RyaW5nIiwKdmFyaWFudHM6W3tiZWdpbjonKHU4P3xVfEwpPyInLGVuZDonIicsaWxsZWdhbDoiXFxuIiwKY29udGFpbnM6W3QuQkFDS1NMQVNIX0VTQ0FQRV19LHsKYmVnaW46Iih1OD98VXxMKT8nKFxcXFwoeFswLTlBLUZhLWZdezJ9fHVbMC05QS1GYS1mXXs0LDh9fFswLTddezN9fFxcUyl8LikiLAplbmQ6IiciLGlsbGVnYWw6Ii4ifSx0LkVORF9TQU1FX0FTX0JFR0lOKHsKYmVnaW46Lyg/OnU4P3xVfEwpP1IiKFteKClcXCBdezAsMTZ9KVwoLyxlbmQ6L1wpKFteKClcXCBdezAsMTZ9KSIvfSldfSxvPXsKY2xhc3NOYW1lOiJudW1iZXIiLHZhcmlhbnRzOlt7YmVnaW46IlxcYigwYlswMSddKykifSx7CmJlZ2luOiIoLT8pXFxiKFtcXGQnXSsoXFwuW1xcZCddKik/fFxcLltcXGQnXSspKChsbHxMTHxsfEwpKHV8VSk/fCh1fFUpKGxsfExMfGx8TCk/fGZ8RnxifEIpIgp9LHsKYmVnaW46IigtPykoXFxiMFt4WF1bYS1mQS1GMC05J10rfChcXGJbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKShbZUVdWy0rXT9bXFxkJ10rKT8pIgp9XSxyZWxldmFuY2U6MH0sYz17Y2xhc3NOYW1lOiJtZXRhIixiZWdpbjovI1xzKlthLXpdK1xiLyxlbmQ6LyQvLGtleXdvcmRzOnsKIm1ldGEta2V5d29yZCI6ImlmIGVsc2UgZWxpZiBlbmRpZiBkZWZpbmUgdW5kZWYgd2FybmluZyBlcnJvciBsaW5lIHByYWdtYSBfUHJhZ21hIGlmZGVmIGlmbmRlZiBpbmNsdWRlIgp9LGNvbnRhaW5zOlt7YmVnaW46L1xcXG4vLHJlbGV2YW5jZTowfSx0LmluaGVyaXQoaSx7Y2xhc3NOYW1lOiJtZXRhLXN0cmluZyJ9KSx7CmNsYXNzTmFtZToibWV0YS1zdHJpbmciLGJlZ2luOi88Lio/Pi8sZW5kOi8kLyxpbGxlZ2FsOiJcXG4iCn0sbix0LkNfQkxPQ0tfQ09NTUVOVF9NT0RFXX0sbD17Y2xhc3NOYW1lOiJ0aXRsZSIsYmVnaW46ZShyKSt0LklERU5UX1JFLApyZWxldmFuY2U6MH0sZD1lKHIpK3QuSURFTlRfUkUrIlxccypcXCgiLHU9ewprZXl3b3JkOiJpbnQgZmxvYXQgd2hpbGUgcHJpdmF0ZSBjaGFyIGNoYXI4X3QgY2hhcjE2X3QgY2hhcjMyX3QgY2F0Y2ggaW1wb3J0IG1vZHVsZSBleHBvcnQgdmlydHVhbCBvcGVyYXRvciBzaXplb2YgZHluYW1pY19jYXN0fDEwIHR5cGVkZWYgY29uc3RfY2FzdHwxMCBjb25zdCBmb3Igc3RhdGljX2Nhc3R8MTAgdW5pb24gbmFtZXNwYWNlIHVuc2lnbmVkIGxvbmcgdm9sYXRpbGUgc3RhdGljIHByb3RlY3RlZCBib29sIHRlbXBsYXRlIG11dGFibGUgaWYgcHVibGljIGZyaWVuZCBkbyBnb3RvIGF1dG8gdm9pZCBlbnVtIGVsc2UgYnJlYWsgZXh0ZXJuIHVzaW5nIGFzbSBjYXNlIHR5cGVpZCB3Y2hhcl90IHNob3J0IHJlaW50ZXJwcmV0X2Nhc3R8MTAgZGVmYXVsdCBkb3VibGUgcmVnaXN0ZXIgZXhwbGljaXQgc2lnbmVkIHR5cGVuYW1lIHRyeSB0aGlzIHN3aXRjaCBjb250aW51ZSBpbmxpbmUgZGVsZXRlIGFsaWduYXMgYWxpZ25vZiBjb25zdGV4cHIgY29uc3RldmFsIGNvbnN0aW5pdCBkZWNsdHlwZSBjb25jZXB0IGNvX2F3YWl0IGNvX3JldHVybiBjb195aWVsZCByZXF1aXJlcyBub2V4Y2VwdCBzdGF0aWNfYXNzZXJ0IHRocmVhZF9sb2NhbCByZXN0cmljdCBmaW5hbCBvdmVycmlkZSBhdG9taWNfYm9vbCBhdG9taWNfY2hhciBhdG9taWNfc2NoYXIgYXRvbWljX3VjaGFyIGF0b21pY19zaG9ydCBhdG9taWNfdXNob3J0IGF0b21pY19pbnQgYXRvbWljX3VpbnQgYXRvbWljX2xvbmcgYXRvbWljX3Vsb25nIGF0b21pY19sbG9uZyBhdG9taWNfdWxsb25nIG5ldyB0aHJvdyByZXR1cm4gYW5kIGFuZF9lcSBiaXRhbmQgYml0b3IgY29tcGwgbm90IG5vdF9lcSBvciBvcl9lcSB4b3IgeG9yX2VxIiwKYnVpbHRfaW46InN0ZCBzdHJpbmcgd3N0cmluZyBjaW4gY291dCBjZXJyIGNsb2cgc3RkaW4gc3Rkb3V0IHN0ZGVyciBzdHJpbmdzdHJlYW0gaXN0cmluZ3N0cmVhbSBvc3RyaW5nc3RyZWFtIGF1dG9fcHRyIGRlcXVlIGxpc3QgcXVldWUgc3RhY2sgdmVjdG9yIG1hcCBzZXQgcGFpciBiaXRzZXQgbXVsdGlzZXQgbXVsdGltYXAgdW5vcmRlcmVkX3NldCB1bm9yZGVyZWRfbWFwIHVub3JkZXJlZF9tdWx0aXNldCB1bm9yZGVyZWRfbXVsdGltYXAgcHJpb3JpdHlfcXVldWUgbWFrZV9wYWlyIGFycmF5IHNoYXJlZF9wdHIgYWJvcnQgdGVybWluYXRlIGFicyBhY29zIGFzaW4gYXRhbjIgYXRhbiBjYWxsb2MgY2VpbCBjb3NoIGNvcyBleGl0IGV4cCBmYWJzIGZsb29yIGZtb2QgZnByaW50ZiBmcHV0cyBmcmVlIGZyZXhwIGZzY2FuZiBmdXR1cmUgaXNhbG51bSBpc2FscGhhIGlzY250cmwgaXNkaWdpdCBpc2dyYXBoIGlzbG93ZXIgaXNwcmludCBpc3B1bmN0IGlzc3BhY2UgaXN1cHBlciBpc3hkaWdpdCB0b2xvd2VyIHRvdXBwZXIgbGFicyBsZGV4cCBsb2cxMCBsb2cgbWFsbG9jIHJlYWxsb2MgbWVtY2hyIG1lbWNtcCBtZW1jcHkgbWVtc2V0IG1vZGYgcG93IHByaW50ZiBwdXRjaGFyIHB1dHMgc2NhbmYgc2luaCBzaW4gc25wcmludGYgc3ByaW50ZiBzcXJ0IHNzY2FuZiBzdHJjYXQgc3RyY2hyIHN0cmNtcCBzdHJjcHkgc3RyY3NwbiBzdHJsZW4gc3RybmNhdCBzdHJuY21wIHN0cm5jcHkgc3RycGJyayBzdHJyY2hyIHN0cnNwbiBzdHJzdHIgdGFuaCB0YW4gdmZwcmludGYgdnByaW50ZiB2c3ByaW50ZiBlbmRsIGluaXRpYWxpemVyX2xpc3QgdW5pcXVlX3B0ciBfQm9vbCBjb21wbGV4IF9Db21wbGV4IGltYWdpbmFyeSBfSW1hZ2luYXJ5IiwKbGl0ZXJhbDoidHJ1ZSBmYWxzZSBudWxscHRyIE5VTEwifSxtPVtjLHMsbix0LkNfQkxPQ0tfQ09NTUVOVF9NT0RFLG8saV0scD17CnZhcmlhbnRzOlt7YmVnaW46Lz0vLGVuZDovOy99LHtiZWdpbjovXCgvLGVuZDovXCkvfSx7CmJlZ2luS2V5d29yZHM6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIsZW5kOi87L31dLGtleXdvcmRzOnUsY29udGFpbnM6bS5jb25jYXQoW3sKYmVnaW46L1woLyxlbmQ6L1wpLyxrZXl3b3Jkczp1LGNvbnRhaW5zOm0uY29uY2F0KFsic2VsZiJdKSxyZWxldmFuY2U6MH1dKSwKcmVsZXZhbmNlOjB9LF89e2NsYXNzTmFtZToiZnVuY3Rpb24iLGJlZ2luOiIoIithKyJbXFwqJlxcc10rKSsiK2QsCnJldHVybkJlZ2luOiEwLGVuZDovW3s7PV0vLGV4Y2x1ZGVFbmQ6ITAsa2V5d29yZHM6dSxpbGxlZ2FsOi9bXlx3XHNcKiY6PD4uXS8sCmNvbnRhaW5zOlt7YmVnaW46ImRlY2x0eXBlXFwoYXV0b1xcKSIsa2V5d29yZHM6dSxyZWxldmFuY2U6MH0se2JlZ2luOmQsCnJldHVybkJlZ2luOiEwLGNvbnRhaW5zOltsXSxyZWxldmFuY2U6MH0se2NsYXNzTmFtZToicGFyYW1zIixiZWdpbjovXCgvLAplbmQ6L1wpLyxrZXl3b3Jkczp1LHJlbGV2YW5jZTowLGNvbnRhaW5zOltuLHQuQ19CTE9DS19DT01NRU5UX01PREUsaSxvLHMsewpiZWdpbjovXCgvLGVuZDovXCkvLGtleXdvcmRzOnUscmVsZXZhbmNlOjAsCmNvbnRhaW5zOlsic2VsZiIsbix0LkNfQkxPQ0tfQ09NTUVOVF9NT0RFLGksbyxzXX1dCn0scyxuLHQuQ19CTE9DS19DT01NRU5UX01PREUsY119O3JldHVybnsKYWxpYXNlczpbImMiLCJjYyIsImgiLCJjKysiLCJoKysiLCJocHAiLCJoaCIsImh4eCIsImN4eCJdLGtleXdvcmRzOnUsCmRpc2FibGVBdXRvZGV0ZWN0OiEwLGlsbGVnYWw6IjwvIixjb250YWluczpbXS5jb25jYXQocCxfLG0sW2MsewpiZWdpbjoiXFxiKGRlcXVlfGxpc3R8cXVldWV8cHJpb3JpdHlfcXVldWV8cGFpcnxzdGFja3x2ZWN0b3J8bWFwfHNldHxiaXRzZXR8bXVsdGlzZXR8bXVsdGltYXB8dW5vcmRlcmVkX21hcHx1bm9yZGVyZWRfc2V0fHVub3JkZXJlZF9tdWx0aXNldHx1bm9yZGVyZWRfbXVsdGltYXB8YXJyYXkpXFxzKjwiLAplbmQ6Ij4iLGtleXdvcmRzOnUsY29udGFpbnM6WyJzZWxmIixzXX0se2JlZ2luOnQuSURFTlRfUkUrIjo6IixrZXl3b3Jkczp1fSx7CmNsYXNzTmFtZToiY2xhc3MiLGJlZ2luS2V5d29yZHM6ImVudW0gY2xhc3Mgc3RydWN0IHVuaW9uIixlbmQ6L1t7Ozo8Pj1dLywKY29udGFpbnM6W3tiZWdpbktleXdvcmRzOiJmaW5hbCBjbGFzcyBzdHJ1Y3QifSx0LlRJVExFX01PREVdfV0pLGV4cG9ydHM6ewpwcmVwcm9jZXNzb3I6YyxzdHJpbmdzOmksa2V5d29yZHM6dX19fSkodCkKO3JldHVybiBuLm5hbWU9IkMiLG4uYWxpYXNlcz1bImMiLCJoIl0sbn19KSgpKTsKaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJjb2ZmZWVzY3JpcHQiLCgoKT0+eyJ1c2Ugc3RyaWN0Igo7Y29uc3QgZT1bImFzIiwiaW4iLCJvZiIsImlmIiwiZm9yIiwid2hpbGUiLCJmaW5hbGx5IiwidmFyIiwibmV3IiwiZnVuY3Rpb24iLCJkbyIsInJldHVybiIsInZvaWQiLCJlbHNlIiwiYnJlYWsiLCJjYXRjaCIsImluc3RhbmNlb2YiLCJ3aXRoIiwidGhyb3ciLCJjYXNlIiwiZGVmYXVsdCIsInRyeSIsInN3aXRjaCIsImNvbnRpbnVlIiwidHlwZW9mIiwiZGVsZXRlIiwibGV0IiwieWllbGQiLCJjb25zdCIsImNsYXNzIiwiZGVidWdnZXIiLCJhc3luYyIsImF3YWl0Iiwic3RhdGljIiwiaW1wb3J0IiwiZnJvbSIsImV4cG9ydCIsImV4dGVuZHMiXSxuPVsidHJ1ZSIsImZhbHNlIiwibnVsbCIsInVuZGVmaW5lZCIsIk5hTiIsIkluZmluaXR5Il0sYT1bXS5jb25jYXQoWyJzZXRJbnRlcnZhbCIsInNldFRpbWVvdXQiLCJjbGVhckludGVydmFsIiwiY2xlYXJUaW1lb3V0IiwicmVxdWlyZSIsImV4cG9ydHMiLCJldmFsIiwiaXNGaW5pdGUiLCJpc05hTiIsInBhcnNlRmxvYXQiLCJwYXJzZUludCIsImRlY29kZVVSSSIsImRlY29kZVVSSUNvbXBvbmVudCIsImVuY29kZVVSSSIsImVuY29kZVVSSUNvbXBvbmVudCIsImVzY2FwZSIsInVuZXNjYXBlIl0sWyJhcmd1bWVudHMiLCJ0aGlzIiwic3VwZXIiLCJjb25zb2xlIiwid2luZG93IiwiZG9jdW1lbnQiLCJsb2NhbFN0b3JhZ2UiLCJtb2R1bGUiLCJnbG9iYWwiXSxbIkludGwiLCJEYXRhVmlldyIsIk51bWJlciIsIk1hdGgiLCJEYXRlIiwiU3RyaW5nIiwiUmVnRXhwIiwiT2JqZWN0IiwiRnVuY3Rpb24iLCJCb29sZWFuIiwiRXJyb3IiLCJTeW1ib2wiLCJTZXQiLCJNYXAiLCJXZWFrU2V0IiwiV2Vha01hcCIsIlByb3h5IiwiUmVmbGVjdCIsIkpTT04iLCJQcm9taXNlIiwiRmxvYXQ2NEFycmF5IiwiSW50MTZBcnJheSIsIkludDMyQXJyYXkiLCJJbnQ4QXJyYXkiLCJVaW50MTZBcnJheSIsIlVpbnQzMkFycmF5IiwiRmxvYXQzMkFycmF5IiwiQXJyYXkiLCJVaW50OEFycmF5IiwiVWludDhDbGFtcGVkQXJyYXkiLCJBcnJheUJ1ZmZlciJdLFsiRXZhbEVycm9yIiwiSW50ZXJuYWxFcnJvciIsIlJhbmdlRXJyb3IiLCJSZWZlcmVuY2VFcnJvciIsIlN5bnRheEVycm9yIiwiVHlwZUVycm9yIiwiVVJJRXJyb3IiXSkKO3JldHVybiByPT57Y29uc3QgdD17CmtleXdvcmQ6ZS5jb25jYXQoWyJ0aGVuIiwidW5sZXNzIiwidW50aWwiLCJsb29wIiwiYnkiLCJ3aGVuIiwiYW5kIiwib3IiLCJpcyIsImlzbnQiLCJub3QiXSkuZmlsdGVyKChpPVsidmFyIiwiY29uc3QiLCJsZXQiLCJmdW5jdGlvbiIsInN0YXRpYyJdLAplPT4haS5pbmNsdWRlcyhlKSkpLmpvaW4oIiAiKSwKbGl0ZXJhbDpuLmNvbmNhdChbInllcyIsIm5vIiwib24iLCJvZmYiXSkuam9pbigiICIpLApidWlsdF9pbjphLmNvbmNhdChbIm5wbSIsInByaW50Il0pLmpvaW4oIiAiKX07dmFyIGkKO2NvbnN0IHM9IltBLVphLXokX11bMC05QS1aYS16JF9dKiIsbz17Y2xhc3NOYW1lOiJzdWJzdCIsYmVnaW46LyNcey8sZW5kOi9cfS8sCmtleXdvcmRzOnR9LGM9W3IuQklOQVJZX05VTUJFUl9NT0RFLHIuaW5oZXJpdChyLkNfTlVNQkVSX01PREUse3N0YXJ0czp7CmVuZDoiKFxccyovKT8iLHJlbGV2YW5jZTowfX0pLHtjbGFzc05hbWU6InN0cmluZyIsdmFyaWFudHM6W3tiZWdpbjovJycnLywKZW5kOi8nJycvLGNvbnRhaW5zOltyLkJBQ0tTTEFTSF9FU0NBUEVdfSx7YmVnaW46LycvLGVuZDovJy8sCmNvbnRhaW5zOltyLkJBQ0tTTEFTSF9FU0NBUEVdfSx7YmVnaW46LyIiIi8sZW5kOi8iIiIvLApjb250YWluczpbci5CQUNLU0xBU0hfRVNDQVBFLG9dfSx7YmVnaW46LyIvLGVuZDovIi8sCmNvbnRhaW5zOltyLkJBQ0tTTEFTSF9FU0NBUEUsb119XX0se2NsYXNzTmFtZToicmVnZXhwIix2YXJpYW50czpbe2JlZ2luOiIvLy8iLAplbmQ6Ii8vLyIsY29udGFpbnM6W28sci5IQVNIX0NPTU1FTlRfTU9ERV19LHtiZWdpbjoiLy9bZ2ltXXswLDN9KD89XFxXKSIsCnJlbGV2YW5jZTowfSx7YmVnaW46L1wvKD8hWyAqXSkuKj8oPyFbXFxdKS5cL1tnaW1dezAsM30oPz1cVykvfV19LHtiZWdpbjoiQCIrcwp9LHtzdWJMYW5ndWFnZToiamF2YXNjcmlwdCIsZXhjbHVkZUJlZ2luOiEwLGV4Y2x1ZGVFbmQ6ITAsdmFyaWFudHM6W3sKYmVnaW46ImBgYCIsZW5kOiJgYGAifSx7YmVnaW46ImAiLGVuZDoiYCJ9XX1dO28uY29udGFpbnM9Ywo7Y29uc3QgbD1yLmluaGVyaXQoci5USVRMRV9NT0RFLHtiZWdpbjpzfSksZD0iKFxcKC4qXFwpXFxzKik/XFxCWy09XT4iLGc9ewpjbGFzc05hbWU6InBhcmFtcyIsYmVnaW46IlxcKFteXFwoXSIscmV0dXJuQmVnaW46ITAsY29udGFpbnM6W3tiZWdpbjovXCgvLAplbmQ6L1wpLyxrZXl3b3Jkczp0LGNvbnRhaW5zOlsic2VsZiJdLmNvbmNhdChjKX1dfTtyZXR1cm57bmFtZToiQ29mZmVlU2NyaXB0IiwKYWxpYXNlczpbImNvZmZlZSIsImNzb24iLCJpY2VkIl0sa2V5d29yZHM6dCxpbGxlZ2FsOi9cL1wqLywKY29udGFpbnM6Yy5jb25jYXQoW3IuQ09NTUVOVCgiIyMjIiwiIyMjIiksci5IQVNIX0NPTU1FTlRfTU9ERSx7CmNsYXNzTmFtZToiZnVuY3Rpb24iLGJlZ2luOiJeXFxzKiIrcysiXFxzKj1cXHMqIitkLGVuZDoiWy09XT4iLHJldHVybkJlZ2luOiEwLApjb250YWluczpbbCxnXX0se2JlZ2luOi9bOlwoLD1dXHMqLyxyZWxldmFuY2U6MCxjb250YWluczpbe2NsYXNzTmFtZToiZnVuY3Rpb24iLApiZWdpbjpkLGVuZDoiWy09XT4iLHJldHVybkJlZ2luOiEwLGNvbnRhaW5zOltnXX1dfSx7Y2xhc3NOYW1lOiJjbGFzcyIsCmJlZ2luS2V5d29yZHM6ImNsYXNzIixlbmQ6IiQiLGlsbGVnYWw6L1s6PSJcW1xdXS8sY29udGFpbnM6W3sKYmVnaW5LZXl3b3JkczoiZXh0ZW5kcyIsZW5kc1dpdGhQYXJlbnQ6ITAsaWxsZWdhbDovWzo9IlxbXF1dLyxjb250YWluczpbbF19LGxdCn0se2JlZ2luOnMrIjoiLGVuZDoiOiIscmV0dXJuQmVnaW46ITAscmV0dXJuRW5kOiEwLHJlbGV2YW5jZTowfV0pfX19KSgpKTsKaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJjcHAiLCgoKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKGUpewpyZXR1cm4oKC4uLmUpPT5lLm1hcCgoZT0+KGU9PmU/InN0cmluZyI9PXR5cGVvZiBlP2U6ZS5zb3VyY2U6bnVsbCkoZSkpKS5qb2luKCIiKSkoIigiLGUsIik/IikKfXJldHVybiB0PT57Y29uc3Qgbj0odD0+e2NvbnN0IG49dC5DT01NRU5UKCIvLyIsIiQiLHtjb250YWluczpbe2JlZ2luOi9cXFxuL31dCn0pLHI9IlthLXpBLVpfXVxcdyo6OiIsYT0iKGRlY2x0eXBlXFwoYXV0b1xcKXwiK2UocikrIlthLXpBLVpfXVxcdyoiK2UoIjxbXjw+XSs+IikrIikiLHM9ewpjbGFzc05hbWU6ImtleXdvcmQiLGJlZ2luOiJcXGJbYS16XFxkX10qX3RcXGIifSxpPXtjbGFzc05hbWU6InN0cmluZyIsCnZhcmlhbnRzOlt7YmVnaW46Jyh1OD98VXxMKT8iJyxlbmQ6JyInLGlsbGVnYWw6IlxcbiIsCmNvbnRhaW5zOlt0LkJBQ0tTTEFTSF9FU0NBUEVdfSx7CmJlZ2luOiIodTg/fFV8TCk/JyhcXFxcKHhbMC05QS1GYS1mXXsyfXx1WzAtOUEtRmEtZl17NCw4fXxbMC03XXszfXxcXFMpfC4pIiwKZW5kOiInIixpbGxlZ2FsOiIuIn0sdC5FTkRfU0FNRV9BU19CRUdJTih7CmJlZ2luOi8oPzp1OD98VXxMKT9SIihbXigpXFwgXXswLDE2fSlcKC8sZW5kOi9cKShbXigpXFwgXXswLDE2fSkiL30pXX0sYz17CmNsYXNzTmFtZToibnVtYmVyIix2YXJpYW50czpbe2JlZ2luOiJcXGIoMGJbMDEnXSspIn0sewpiZWdpbjoiKC0/KVxcYihbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKSgobGx8TEx8bHxMKSh1fFUpP3wodXxVKShsbHxMTHxsfEwpP3xmfEZ8YnxCKSIKfSx7CmJlZ2luOiIoLT8pKFxcYjBbeFhdW2EtZkEtRjAtOSddK3woXFxiW1xcZCddKyhcXC5bXFxkJ10qKT98XFwuW1xcZCddKykoW2VFXVstK10/W1xcZCddKyk/KSIKfV0scmVsZXZhbmNlOjB9LG89e2NsYXNzTmFtZToibWV0YSIsYmVnaW46LyNccypbYS16XStcYi8sZW5kOi8kLyxrZXl3b3Jkczp7CiJtZXRhLWtleXdvcmQiOiJpZiBlbHNlIGVsaWYgZW5kaWYgZGVmaW5lIHVuZGVmIHdhcm5pbmcgZXJyb3IgbGluZSBwcmFnbWEgX1ByYWdtYSBpZmRlZiBpZm5kZWYgaW5jbHVkZSIKfSxjb250YWluczpbe2JlZ2luOi9cXFxuLyxyZWxldmFuY2U6MH0sdC5pbmhlcml0KGkse2NsYXNzTmFtZToibWV0YS1zdHJpbmcifSksewpjbGFzc05hbWU6Im1ldGEtc3RyaW5nIixiZWdpbjovPC4qPz4vLGVuZDovJC8saWxsZWdhbDoiXFxuIgp9LG4sdC5DX0JMT0NLX0NPTU1FTlRfTU9ERV19LGw9e2NsYXNzTmFtZToidGl0bGUiLGJlZ2luOmUocikrdC5JREVOVF9SRSwKcmVsZXZhbmNlOjB9LGQ9ZShyKSt0LklERU5UX1JFKyJcXHMqXFwoIix1PXsKa2V5d29yZDoiaW50IGZsb2F0IHdoaWxlIHByaXZhdGUgY2hhciBjaGFyOF90IGNoYXIxNl90IGNoYXIzMl90IGNhdGNoIGltcG9ydCBtb2R1bGUgZXhwb3J0IHZpcnR1YWwgb3BlcmF0b3Igc2l6ZW9mIGR5bmFtaWNfY2FzdHwxMCB0eXBlZGVmIGNvbnN0X2Nhc3R8MTAgY29uc3QgZm9yIHN0YXRpY19jYXN0fDEwIHVuaW9uIG5hbWVzcGFjZSB1bnNpZ25lZCBsb25nIHZvbGF0aWxlIHN0YXRpYyBwcm90ZWN0ZWQgYm9vbCB0ZW1wbGF0ZSBtdXRhYmxlIGlmIHB1YmxpYyBmcmllbmQgZG8gZ290byBhdXRvIHZvaWQgZW51bSBlbHNlIGJyZWFrIGV4dGVybiB1c2luZyBhc20gY2FzZSB0eXBlaWQgd2NoYXJfdCBzaG9ydCByZWludGVycHJldF9jYXN0fDEwIGRlZmF1bHQgZG91YmxlIHJlZ2lzdGVyIGV4cGxpY2l0IHNpZ25lZCB0eXBlbmFtZSB0cnkgdGhpcyBzd2l0Y2ggY29udGludWUgaW5saW5lIGRlbGV0ZSBhbGlnbmFzIGFsaWdub2YgY29uc3RleHByIGNvbnN0ZXZhbCBjb25zdGluaXQgZGVjbHR5cGUgY29uY2VwdCBjb19hd2FpdCBjb19yZXR1cm4gY29feWllbGQgcmVxdWlyZXMgbm9leGNlcHQgc3RhdGljX2Fzc2VydCB0aHJlYWRfbG9jYWwgcmVzdHJpY3QgZmluYWwgb3ZlcnJpZGUgYXRvbWljX2Jvb2wgYXRvbWljX2NoYXIgYXRvbWljX3NjaGFyIGF0b21pY191Y2hhciBhdG9taWNfc2hvcnQgYXRvbWljX3VzaG9ydCBhdG9taWNfaW50IGF0b21pY191aW50IGF0b21pY19sb25nIGF0b21pY191bG9uZyBhdG9taWNfbGxvbmcgYXRvbWljX3VsbG9uZyBuZXcgdGhyb3cgcmV0dXJuIGFuZCBhbmRfZXEgYml0YW5kIGJpdG9yIGNvbXBsIG5vdCBub3RfZXEgb3Igb3JfZXEgeG9yIHhvcl9lcSIsCmJ1aWx0X2luOiJzdGQgc3RyaW5nIHdzdHJpbmcgY2luIGNvdXQgY2VyciBjbG9nIHN0ZGluIHN0ZG91dCBzdGRlcnIgc3RyaW5nc3RyZWFtIGlzdHJpbmdzdHJlYW0gb3N0cmluZ3N0cmVhbSBhdXRvX3B0ciBkZXF1ZSBsaXN0IHF1ZXVlIHN0YWNrIHZlY3RvciBtYXAgc2V0IHBhaXIgYml0c2V0IG11bHRpc2V0IG11bHRpbWFwIHVub3JkZXJlZF9zZXQgdW5vcmRlcmVkX21hcCB1bm9yZGVyZWRfbXVsdGlzZXQgdW5vcmRlcmVkX211bHRpbWFwIHByaW9yaXR5X3F1ZXVlIG1ha2VfcGFpciBhcnJheSBzaGFyZWRfcHRyIGFib3J0IHRlcm1pbmF0ZSBhYnMgYWNvcyBhc2luIGF0YW4yIGF0YW4gY2FsbG9jIGNlaWwgY29zaCBjb3MgZXhpdCBleHAgZmFicyBmbG9vciBmbW9kIGZwcmludGYgZnB1dHMgZnJlZSBmcmV4cCBmc2NhbmYgZnV0dXJlIGlzYWxudW0gaXNhbHBoYSBpc2NudHJsIGlzZGlnaXQgaXNncmFwaCBpc2xvd2VyIGlzcHJpbnQgaXNwdW5jdCBpc3NwYWNlIGlzdXBwZXIgaXN4ZGlnaXQgdG9sb3dlciB0b3VwcGVyIGxhYnMgbGRleHAgbG9nMTAgbG9nIG1hbGxvYyByZWFsbG9jIG1lbWNociBtZW1jbXAgbWVtY3B5IG1lbXNldCBtb2RmIHBvdyBwcmludGYgcHV0Y2hhciBwdXRzIHNjYW5mIHNpbmggc2luIHNucHJpbnRmIHNwcmludGYgc3FydCBzc2NhbmYgc3RyY2F0IHN0cmNociBzdHJjbXAgc3RyY3B5IHN0cmNzcG4gc3RybGVuIHN0cm5jYXQgc3RybmNtcCBzdHJuY3B5IHN0cnBicmsgc3RycmNociBzdHJzcG4gc3Ryc3RyIHRhbmggdGFuIHZmcHJpbnRmIHZwcmludGYgdnNwcmludGYgZW5kbCBpbml0aWFsaXplcl9saXN0IHVuaXF1ZV9wdHIgX0Jvb2wgY29tcGxleCBfQ29tcGxleCBpbWFnaW5hcnkgX0ltYWdpbmFyeSIsCmxpdGVyYWw6InRydWUgZmFsc2UgbnVsbHB0ciBOVUxMIn0scD1bbyxzLG4sdC5DX0JMT0NLX0NPTU1FTlRfTU9ERSxjLGldLG09ewp2YXJpYW50czpbe2JlZ2luOi89LyxlbmQ6LzsvfSx7YmVnaW46L1woLyxlbmQ6L1wpL30sewpiZWdpbktleXdvcmRzOiJuZXcgdGhyb3cgcmV0dXJuIGVsc2UiLGVuZDovOy99XSxrZXl3b3Jkczp1LGNvbnRhaW5zOnAuY29uY2F0KFt7CmJlZ2luOi9cKC8sZW5kOi9cKS8sa2V5d29yZHM6dSxjb250YWluczpwLmNvbmNhdChbInNlbGYiXSkscmVsZXZhbmNlOjB9XSksCnJlbGV2YW5jZTowfSxfPXtjbGFzc05hbWU6ImZ1bmN0aW9uIixiZWdpbjoiKCIrYSsiW1xcKiZcXHNdKykrIitkLApyZXR1cm5CZWdpbjohMCxlbmQ6L1t7Oz1dLyxleGNsdWRlRW5kOiEwLGtleXdvcmRzOnUsaWxsZWdhbDovW15cd1xzXComOjw+Ll0vLApjb250YWluczpbe2JlZ2luOiJkZWNsdHlwZVxcKGF1dG9cXCkiLGtleXdvcmRzOnUscmVsZXZhbmNlOjB9LHtiZWdpbjpkLApyZXR1cm5CZWdpbjohMCxjb250YWluczpbbF0scmVsZXZhbmNlOjB9LHtjbGFzc05hbWU6InBhcmFtcyIsYmVnaW46L1woLywKZW5kOi9cKS8sa2V5d29yZHM6dSxyZWxldmFuY2U6MCxjb250YWluczpbbix0LkNfQkxPQ0tfQ09NTUVOVF9NT0RFLGksYyxzLHsKYmVnaW46L1woLyxlbmQ6L1wpLyxrZXl3b3Jkczp1LHJlbGV2YW5jZTowLApjb250YWluczpbInNlbGYiLG4sdC5DX0JMT0NLX0NPTU1FTlRfTU9ERSxpLGMsc119XQp9LHMsbix0LkNfQkxPQ0tfQ09NTUVOVF9NT0RFLG9dfTtyZXR1cm57CmFsaWFzZXM6WyJjIiwiY2MiLCJoIiwiYysrIiwiaCsrIiwiaHBwIiwiaGgiLCJoeHgiLCJjeHgiXSxrZXl3b3Jkczp1LApkaXNhYmxlQXV0b2RldGVjdDohMCxpbGxlZ2FsOiI8LyIsY29udGFpbnM6W10uY29uY2F0KG0sXyxwLFtvLHsKYmVnaW46IlxcYihkZXF1ZXxsaXN0fHF1ZXVlfHByaW9yaXR5X3F1ZXVlfHBhaXJ8c3RhY2t8dmVjdG9yfG1hcHxzZXR8Yml0c2V0fG11bHRpc2V0fG11bHRpbWFwfHVub3JkZXJlZF9tYXB8dW5vcmRlcmVkX3NldHx1bm9yZGVyZWRfbXVsdGlzZXR8dW5vcmRlcmVkX211bHRpbWFwfGFycmF5KVxccyo8IiwKZW5kOiI+IixrZXl3b3Jkczp1LGNvbnRhaW5zOlsic2VsZiIsc119LHtiZWdpbjp0LklERU5UX1JFKyI6OiIsa2V5d29yZHM6dX0sewpjbGFzc05hbWU6ImNsYXNzIixiZWdpbktleXdvcmRzOiJlbnVtIGNsYXNzIHN0cnVjdCB1bmlvbiIsZW5kOi9bezs6PD49XS8sCmNvbnRhaW5zOlt7YmVnaW5LZXl3b3JkczoiZmluYWwgY2xhc3Mgc3RydWN0In0sdC5USVRMRV9NT0RFXX1dKSxleHBvcnRzOnsKcHJlcHJvY2Vzc29yOm8sc3RyaW5nczppLGtleXdvcmRzOnV9fX0pKHQpCjtyZXR1cm4gbi5kaXNhYmxlQXV0b2RldGVjdD0hMSxuLm5hbWU9IkMrKyIsCm4uYWxpYXNlcz1bImNjIiwiYysrIiwiaCsrIiwiaHBwIiwiaGgiLCJoeHgiLCJjeHgiXSxufX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImNzaGFycCIsKCgpPT57InVzZSBzdHJpY3QiO3JldHVybiBlPT57dmFyIG49ewprZXl3b3JkOlsiYWJzdHJhY3QiLCJhcyIsImJhc2UiLCJicmVhayIsImNhc2UiLCJjbGFzcyIsImNvbnN0IiwiY29udGludWUiLCJkbyIsImVsc2UiLCJldmVudCIsImV4cGxpY2l0IiwiZXh0ZXJuIiwiZmluYWxseSIsImZpeGVkIiwiZm9yIiwiZm9yZWFjaCIsImdvdG8iLCJpZiIsImltcGxpY2l0IiwiaW4iLCJpbnRlcmZhY2UiLCJpbnRlcm5hbCIsImlzIiwibG9jayIsIm5hbWVzcGFjZSIsIm5ldyIsIm9wZXJhdG9yIiwib3V0Iiwib3ZlcnJpZGUiLCJwYXJhbXMiLCJwcml2YXRlIiwicHJvdGVjdGVkIiwicHVibGljIiwicmVhZG9ubHkiLCJyZWNvcmQiLCJyZWYiLCJyZXR1cm4iLCJzZWFsZWQiLCJzaXplb2YiLCJzdGFja2FsbG9jIiwic3RhdGljIiwic3RydWN0Iiwic3dpdGNoIiwidGhpcyIsInRocm93IiwidHJ5IiwidHlwZW9mIiwidW5jaGVja2VkIiwidW5zYWZlIiwidXNpbmciLCJ2aXJ0dWFsIiwidm9pZCIsInZvbGF0aWxlIiwid2hpbGUiXS5jb25jYXQoWyJhZGQiLCJhbGlhcyIsImFuZCIsImFzY2VuZGluZyIsImFzeW5jIiwiYXdhaXQiLCJieSIsImRlc2NlbmRpbmciLCJlcXVhbHMiLCJmcm9tIiwiZ2V0IiwiZ2xvYmFsIiwiZ3JvdXAiLCJpbml0IiwiaW50byIsImpvaW4iLCJsZXQiLCJuYW1lb2YiLCJub3QiLCJub3RudWxsIiwib24iLCJvciIsIm9yZGVyYnkiLCJwYXJ0aWFsIiwicmVtb3ZlIiwic2VsZWN0Iiwic2V0IiwidW5tYW5hZ2VkIiwidmFsdWV8MCIsInZhciIsIndoZW4iLCJ3aGVyZSIsIndpdGgiLCJ5aWVsZCJdKS5qb2luKCIgIiksCmJ1aWx0X2luOiJib29sIGJ5dGUgY2hhciBkZWNpbWFsIGRlbGVnYXRlIGRvdWJsZSBkeW5hbWljIGVudW0gZmxvYXQgaW50IGxvbmcgbmludCBudWludCBvYmplY3Qgc2J5dGUgc2hvcnQgc3RyaW5nIHVsb25nIHVuaXQgdXNob3J0IiwKbGl0ZXJhbDoiZGVmYXVsdCBmYWxzZSBudWxsIHRydWUifSxhPWUuaW5oZXJpdChlLlRJVExFX01PREUsewpiZWdpbjoiW2EtekEtWl0oXFwuP1xcdykqIn0pLGk9e2NsYXNzTmFtZToibnVtYmVyIix2YXJpYW50czpbewpiZWdpbjoiXFxiKDBiWzAxJ10rKSJ9LHsKYmVnaW46IigtPylcXGIoW1xcZCddKyhcXC5bXFxkJ10qKT98XFwuW1xcZCddKykodXxVfGx8THx1bHxVTHxmfEZ8YnxCKSJ9LHsKYmVnaW46IigtPykoXFxiMFt4WF1bYS1mQS1GMC05J10rfChcXGJbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKShbZUVdWy0rXT9bXFxkJ10rKT8pIgp9XSxyZWxldmFuY2U6MH0scz17Y2xhc3NOYW1lOiJzdHJpbmciLGJlZ2luOidAIicsZW5kOiciJyxjb250YWluczpbe2JlZ2luOiciIid9XQp9LHQ9ZS5pbmhlcml0KHMse2lsbGVnYWw6L1xuL30pLHI9e2NsYXNzTmFtZToic3Vic3QiLGJlZ2luOi9cey8sZW5kOi9cfS8sCmtleXdvcmRzOm59LGw9ZS5pbmhlcml0KHIse2lsbGVnYWw6L1xuL30pLGM9e2NsYXNzTmFtZToic3RyaW5nIixiZWdpbjovXCQiLywKZW5kOiciJyxpbGxlZ2FsOi9cbi8sY29udGFpbnM6W3tiZWdpbjovXHtcey99LHtiZWdpbjovXH1cfS8KfSxlLkJBQ0tTTEFTSF9FU0NBUEUsbF19LG89e2NsYXNzTmFtZToic3RyaW5nIixiZWdpbjovXCRAIi8sZW5kOiciJyxjb250YWluczpbewpiZWdpbjovXHtcey99LHtiZWdpbjovXH1cfS99LHtiZWdpbjonIiInfSxyXX0sZD1lLmluaGVyaXQobyx7aWxsZWdhbDovXG4vLApjb250YWluczpbe2JlZ2luOi9ce1x7L30se2JlZ2luOi9cfVx9L30se2JlZ2luOiciIid9LGxdfSkKO3IuY29udGFpbnM9W28sYyxzLGUuQVBPU19TVFJJTkdfTU9ERSxlLlFVT1RFX1NUUklOR19NT0RFLGksZS5DX0JMT0NLX0NPTU1FTlRfTU9ERV0sCmwuY29udGFpbnM9W2QsYyx0LGUuQVBPU19TVFJJTkdfTU9ERSxlLlFVT1RFX1NUUklOR19NT0RFLGksZS5pbmhlcml0KGUuQ19CTE9DS19DT01NRU5UX01PREUsewppbGxlZ2FsOi9cbi99KV07dmFyIGc9e3ZhcmlhbnRzOltvLGMscyxlLkFQT1NfU1RSSU5HX01PREUsZS5RVU9URV9TVFJJTkdfTU9ERV0KfSxFPXtiZWdpbjoiPCIsZW5kOiI+Iixjb250YWluczpbe2JlZ2luS2V5d29yZHM6ImluIG91dCJ9LGFdCn0sXz1lLklERU5UX1JFKyIoPCIrZS5JREVOVF9SRSsiKFxccyosXFxzKiIrZS5JREVOVF9SRSsiKSo+KT8oXFxbXFxdKT8iLGI9ewpiZWdpbjoiQCIrZS5JREVOVF9SRSxyZWxldmFuY2U6MH07cmV0dXJue25hbWU6IkMjIixhbGlhc2VzOlsiY3MiLCJjIyJdLAprZXl3b3JkczpuLGlsbGVnYWw6Lzo6Lyxjb250YWluczpbZS5DT01NRU5UKCIvLy8iLCIkIix7cmV0dXJuQmVnaW46ITAsCmNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJkb2N0YWciLHZhcmlhbnRzOlt7YmVnaW46Ii8vLyIscmVsZXZhbmNlOjB9LHsKYmVnaW46Ilx4M2MhLS18LS1ceDNlIn0se2JlZ2luOiI8Lz8iLGVuZDoiPiJ9XX1dCn0pLGUuQ19MSU5FX0NPTU1FTlRfTU9ERSxlLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLHtjbGFzc05hbWU6Im1ldGEiLGJlZ2luOiIjIiwKZW5kOiIkIixrZXl3b3Jkczp7CiJtZXRhLWtleXdvcmQiOiJpZiBlbHNlIGVsaWYgZW5kaWYgZGVmaW5lIHVuZGVmIHdhcm5pbmcgZXJyb3IgbGluZSByZWdpb24gZW5kcmVnaW9uIHByYWdtYSBjaGVja3N1bSIKfX0sZyxpLHtiZWdpbktleXdvcmRzOiJjbGFzcyBpbnRlcmZhY2UiLHJlbGV2YW5jZTowLGVuZDovW3s7PV0vLAppbGxlZ2FsOi9bXlxzOixdLyxjb250YWluczpbe2JlZ2luS2V5d29yZHM6IndoZXJlIGNsYXNzIgp9LGEsRSxlLkNfTElORV9DT01NRU5UX01PREUsZS5DX0JMT0NLX0NPTU1FTlRfTU9ERV19LHtiZWdpbktleXdvcmRzOiJuYW1lc3BhY2UiLApyZWxldmFuY2U6MCxlbmQ6L1t7Oz1dLyxpbGxlZ2FsOi9bXlxzOl0vLApjb250YWluczpbYSxlLkNfTElORV9DT01NRU5UX01PREUsZS5DX0JMT0NLX0NPTU1FTlRfTU9ERV19LHsKYmVnaW5LZXl3b3JkczoicmVjb3JkIixyZWxldmFuY2U6MCxlbmQ6L1t7Oz1dLyxpbGxlZ2FsOi9bXlxzOl0vLApjb250YWluczpbYSxFLGUuQ19MSU5FX0NPTU1FTlRfTU9ERSxlLkNfQkxPQ0tfQ09NTUVOVF9NT0RFXX0se2NsYXNzTmFtZToibWV0YSIsCmJlZ2luOiJeXFxzKlxcWyIsZXhjbHVkZUJlZ2luOiEwLGVuZDoiXFxdIixleGNsdWRlRW5kOiEwLGNvbnRhaW5zOlt7CmNsYXNzTmFtZToibWV0YS1zdHJpbmciLGJlZ2luOi8iLyxlbmQ6LyIvfV19LHsKYmVnaW5LZXl3b3JkczoibmV3IHJldHVybiB0aHJvdyBhd2FpdCBlbHNlIixyZWxldmFuY2U6MH0se2NsYXNzTmFtZToiZnVuY3Rpb24iLApiZWdpbjoiKCIrXysiXFxzKykrIitlLklERU5UX1JFKyJcXHMqKDwuKz5cXHMqKT9cXCgiLHJldHVybkJlZ2luOiEwLAplbmQ6L1xzKlt7Oz1dLyxleGNsdWRlRW5kOiEwLGtleXdvcmRzOm4sY29udGFpbnM6W3sKYmVnaW5LZXl3b3JkczoicHVibGljIHByaXZhdGUgcHJvdGVjdGVkIHN0YXRpYyBpbnRlcm5hbCBwcm90ZWN0ZWQgYWJzdHJhY3QgYXN5bmMgZXh0ZXJuIG92ZXJyaWRlIHVuc2FmZSB2aXJ0dWFsIG5ldyBzZWFsZWQgcGFydGlhbCIsCnJlbGV2YW5jZTowfSx7YmVnaW46ZS5JREVOVF9SRSsiXFxzKig8Lis+XFxzKik/XFwoIixyZXR1cm5CZWdpbjohMCwKY29udGFpbnM6W2UuVElUTEVfTU9ERSxFXSxyZWxldmFuY2U6MH0se2NsYXNzTmFtZToicGFyYW1zIixiZWdpbjovXCgvLGVuZDovXCkvLApleGNsdWRlQmVnaW46ITAsZXhjbHVkZUVuZDohMCxrZXl3b3JkczpuLHJlbGV2YW5jZTowLApjb250YWluczpbZyxpLGUuQ19CTE9DS19DT01NRU5UX01PREVdCn0sZS5DX0xJTkVfQ09NTUVOVF9NT0RFLGUuQ19CTE9DS19DT01NRU5UX01PREVdfSxiXX19fSkoKSk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgiY3NzIiwoKCk9PnsidXNlIHN0cmljdCI7cmV0dXJuIGU9PnsKdmFyIG49IlthLXpBLVotXVthLXpBLVowLTlfLV0qIixhPXsKYmVnaW46LyhbKl1ccz8pPyg/OltBLVpfLlwtXFxdK3wtLVthLXpBLVowLTlfLV0rKVxzKihcL1wqXCpcLyk/Oi8sCnJldHVybkJlZ2luOiEwLGVuZDoiOyIsZW5kc1dpdGhQYXJlbnQ6ITAsY29udGFpbnM6W3tjbGFzc05hbWU6ImF0dHJpYnV0ZSIsCmJlZ2luOi9cUy8sZW5kOiI6IixleGNsdWRlRW5kOiEwLHN0YXJ0czp7ZW5kc1dpdGhQYXJlbnQ6ITAsZXhjbHVkZUVuZDohMCwKY29udGFpbnM6W3tiZWdpbjovW1x3LV0rXCgvLHJldHVybkJlZ2luOiEwLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJidWlsdF9pbiIsCmJlZ2luOi9bXHctXSsvfSx7YmVnaW46L1woLyxlbmQ6L1wpLywKY29udGFpbnM6W2UuQVBPU19TVFJJTkdfTU9ERSxlLlFVT1RFX1NUUklOR19NT0RFLGUuQ1NTX05VTUJFUl9NT0RFXX1dCn0sZS5DU1NfTlVNQkVSX01PREUsZS5RVU9URV9TVFJJTkdfTU9ERSxlLkFQT1NfU1RSSU5HX01PREUsZS5DX0JMT0NLX0NPTU1FTlRfTU9ERSx7CmNsYXNzTmFtZToibnVtYmVyIixiZWdpbjoiI1swLTlBLUZhLWZdKyJ9LHtjbGFzc05hbWU6Im1ldGEiLGJlZ2luOiIhaW1wb3J0YW50In1dCn19XX07cmV0dXJue25hbWU6IkNTUyIsY2FzZV9pbnNlbnNpdGl2ZTohMCxpbGxlZ2FsOi9bPXwnXCRdLywKY29udGFpbnM6W2UuQ19CTE9DS19DT01NRU5UX01PREUse2NsYXNzTmFtZToic2VsZWN0b3ItaWQiLApiZWdpbjovI1tBLVphLXowLTlfLV0rL30se2NsYXNzTmFtZToic2VsZWN0b3ItY2xhc3MiLGJlZ2luOiJcXC4iK259LHsKY2xhc3NOYW1lOiJzZWxlY3Rvci1hdHRyIixiZWdpbjovXFsvLGVuZDovXF0vLGlsbGVnYWw6IiQiLApjb250YWluczpbZS5BUE9TX1NUUklOR19NT0RFLGUuUVVPVEVfU1RSSU5HX01PREVdfSx7Y2xhc3NOYW1lOiJzZWxlY3Rvci1wc2V1ZG8iLApiZWdpbjovOig6KT9bYS16QS1aMC05XysoKSInLi1dKy99LHtiZWdpbjoiQChwYWdlfGZvbnQtZmFjZSkiLApsZXhlbWVzOiJAW2Etei1dKyIsa2V5d29yZHM6IkBwYWdlIEBmb250LWZhY2UifSx7YmVnaW46IkAiLGVuZDoiW3s7XSIsCmlsbGVnYWw6LzovLHJldHVybkJlZ2luOiEwLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJrZXl3b3JkIiwKYmVnaW46L0AtP1x3W1x3XSooLVx3KykqL30se2JlZ2luOi9ccy8sZW5kc1dpdGhQYXJlbnQ6ITAsZXhjbHVkZUVuZDohMCwKcmVsZXZhbmNlOjAsa2V5d29yZHM6ImFuZCBvciBub3Qgb25seSIsY29udGFpbnM6W3tiZWdpbjovW2Etei1dKzovLApjbGFzc05hbWU6ImF0dHJpYnV0ZSJ9LGUuQVBPU19TVFJJTkdfTU9ERSxlLlFVT1RFX1NUUklOR19NT0RFLGUuQ1NTX05VTUJFUl9NT0RFXQp9XX0se2NsYXNzTmFtZToic2VsZWN0b3ItdGFnIixiZWdpbjpuLHJlbGV2YW5jZTowfSx7YmVnaW46L1x7LyxlbmQ6L1x9LywKaWxsZWdhbDovXFMvLGNvbnRhaW5zOltlLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLHtiZWdpbjovOy99LGFdfV19fX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImRpZmYiLCgoKT0+eyJ1c2Ugc3RyaWN0IjtyZXR1cm4gZT0+KHtuYW1lOiJEaWZmIiwKYWxpYXNlczpbInBhdGNoIl0sY29udGFpbnM6W3tjbGFzc05hbWU6Im1ldGEiLHJlbGV2YW5jZToxMCx2YXJpYW50czpbewpiZWdpbjovXkBAICstXGQrLFxkKyArXCtcZCssXGQrICtAQC99LHtiZWdpbjovXlwqXCpcKiArXGQrLFxkKyArXCpcKlwqXCokL30sewpiZWdpbjovXi0tLSArXGQrLFxkKyArLS0tLSQvfV19LHtjbGFzc05hbWU6ImNvbW1lbnQiLHZhcmlhbnRzOlt7YmVnaW46L0luZGV4OiAvLAplbmQ6LyQvfSx7YmVnaW46L15pbmRleC8sZW5kOi8kL30se2JlZ2luOi89ezMsfS8sZW5kOi8kL30se2JlZ2luOi9eLXszfS8sZW5kOi8kLwp9LHtiZWdpbjovXlwqezN9IC8sZW5kOi8kL30se2JlZ2luOi9eXCt7M30vLGVuZDovJC99LHtiZWdpbjovXlwqezE1fSQvfSx7CmJlZ2luOi9eZGlmZiAtLWdpdC8sZW5kOi8kL31dfSx7Y2xhc3NOYW1lOiJhZGRpdGlvbiIsYmVnaW46L15cKy8sZW5kOi8kL30sewpjbGFzc05hbWU6ImRlbGV0aW9uIixiZWdpbjovXi0vLGVuZDovJC99LHtjbGFzc05hbWU6ImFkZGl0aW9uIixiZWdpbjovXiEvLAplbmQ6LyQvfV19KX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImdvIiwoKCk9PnsidXNlIHN0cmljdCI7cmV0dXJuIGU9Pntjb25zdCBuPXsKa2V5d29yZDoiYnJlYWsgZGVmYXVsdCBmdW5jIGludGVyZmFjZSBzZWxlY3QgY2FzZSBtYXAgc3RydWN0IGNoYW4gZWxzZSBnb3RvIHBhY2thZ2Ugc3dpdGNoIGNvbnN0IGZhbGx0aHJvdWdoIGlmIHJhbmdlIHR5cGUgY29udGludWUgZm9yIGltcG9ydCByZXR1cm4gdmFyIGdvIGRlZmVyIGJvb2wgYnl0ZSBjb21wbGV4NjQgY29tcGxleDEyOCBmbG9hdDMyIGZsb2F0NjQgaW50OCBpbnQxNiBpbnQzMiBpbnQ2NCBzdHJpbmcgdWludDggdWludDE2IHVpbnQzMiB1aW50NjQgaW50IHVpbnQgdWludHB0ciBydW5lIiwKbGl0ZXJhbDoidHJ1ZSBmYWxzZSBpb3RhIG5pbCIsCmJ1aWx0X2luOiJhcHBlbmQgY2FwIGNsb3NlIGNvbXBsZXggY29weSBpbWFnIGxlbiBtYWtlIG5ldyBwYW5pYyBwcmludCBwcmludGxuIHJlYWwgcmVjb3ZlciBkZWxldGUiCn07cmV0dXJue25hbWU6IkdvIixhbGlhc2VzOlsiZ29sYW5nIl0sa2V5d29yZHM6bixpbGxlZ2FsOiI8LyIsCmNvbnRhaW5zOltlLkNfTElORV9DT01NRU5UX01PREUsZS5DX0JMT0NLX0NPTU1FTlRfTU9ERSx7Y2xhc3NOYW1lOiJzdHJpbmciLAp2YXJpYW50czpbZS5RVU9URV9TVFJJTkdfTU9ERSxlLkFQT1NfU1RSSU5HX01PREUse2JlZ2luOiJgIixlbmQ6ImAifV19LHsKY2xhc3NOYW1lOiJudW1iZXIiLHZhcmlhbnRzOlt7YmVnaW46ZS5DX05VTUJFUl9SRSsiW2ldIixyZWxldmFuY2U6MQp9LGUuQ19OVU1CRVJfTU9ERV19LHtiZWdpbjovOj0vfSx7Y2xhc3NOYW1lOiJmdW5jdGlvbiIsYmVnaW5LZXl3b3JkczoiZnVuYyIsCmVuZDoiXFxzKihcXHt8JCkiLGV4Y2x1ZGVFbmQ6ITAsY29udGFpbnM6W2UuVElUTEVfTU9ERSx7Y2xhc3NOYW1lOiJwYXJhbXMiLApiZWdpbjovXCgvLGVuZDovXCkvLGtleXdvcmRzOm4saWxsZWdhbDovWyInXS99XX1dfX19KSgpKTsKaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJodHRwIiwoKCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSguLi5lKXsKcmV0dXJuIGUubWFwKChlPT57cmV0dXJuKG49ZSk/InN0cmluZyI9PXR5cGVvZiBuP246bi5zb3VyY2U6bnVsbDt2YXIgbgp9KSkuam9pbigiIil9cmV0dXJuIG49Pntjb25zdCBhPSJIVFRQLygyfDFcXC5bMDFdKSIscz1be2NsYXNzTmFtZToiYXR0cmlidXRlIiwKYmVnaW46ZSgiXiIsL1tBLVphLXpdW0EtWmEtejAtOS1dKi8sIig/PVxcOlxccykiKSxzdGFydHM6e2NvbnRhaW5zOlt7CmNsYXNzTmFtZToicHVuY3R1YXRpb24iLGJlZ2luOi86IC8scmVsZXZhbmNlOjAsc3RhcnRzOntlbmQ6IiQiLHJlbGV2YW5jZTowfX1dfQp9LHtiZWdpbjoiXFxuXFxuIixzdGFydHM6e3N1Ykxhbmd1YWdlOltdLGVuZHNXaXRoUGFyZW50OiEwfX1dO3JldHVybnsKbmFtZToiSFRUUCIsYWxpYXNlczpbImh0dHBzIl0saWxsZWdhbDovXFMvLGNvbnRhaW5zOlt7YmVnaW46Il4oPz0iK2ErIiBcXGR7M30pIiwKZW5kOi8kLyxjb250YWluczpbe2NsYXNzTmFtZToibWV0YSIsYmVnaW46YX0se2NsYXNzTmFtZToibnVtYmVyIiwKYmVnaW46IlxcYlxcZHszfVxcYiJ9XSxzdGFydHM6e2VuZDovXGJcQi8saWxsZWdhbDovXFMvLGNvbnRhaW5zOnN9fSx7CmJlZ2luOiIoPz1eW0EtWl0rICguKj8pICIrYSsiJCkiLGVuZDovJC8sY29udGFpbnM6W3tjbGFzc05hbWU6InN0cmluZyIsCmJlZ2luOiIgIixlbmQ6IiAiLGV4Y2x1ZGVCZWdpbjohMCxleGNsdWRlRW5kOiEwfSx7Y2xhc3NOYW1lOiJtZXRhIixiZWdpbjphfSx7CmNsYXNzTmFtZToia2V5d29yZCIsYmVnaW46IltBLVpdKyJ9XSxzdGFydHM6e2VuZDovXGJcQi8saWxsZWdhbDovXFMvLGNvbnRhaW5zOnN9Cn1dfX19KSgpKTsKaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJpbmkiLCgoKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKGUpewpyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9mIGU/ZTplLnNvdXJjZTpudWxsfWZ1bmN0aW9uIG4oLi4ubil7CnJldHVybiBuLm1hcCgobj0+ZShuKSkpLmpvaW4oIiIpfXJldHVybiBzPT57Y29uc3QgYT17Y2xhc3NOYW1lOiJudW1iZXIiLApyZWxldmFuY2U6MCx2YXJpYW50czpbe2JlZ2luOi8oWystXSspP1tcZF0rX1tcZF9dKy99LHtiZWdpbjpzLk5VTUJFUl9SRX1dCn0saT1zLkNPTU1FTlQoKTtpLnZhcmlhbnRzPVt7YmVnaW46LzsvLGVuZDovJC99LHtiZWdpbjovIy8sZW5kOi8kL31dO2NvbnN0IHQ9ewpjbGFzc05hbWU6InZhcmlhYmxlIix2YXJpYW50czpbe2JlZ2luOi9cJFtcd1xkIl1bXHdcZF9dKi99LHtiZWdpbjovXCRceyguKj8pXH0vCn1dfSxyPXtjbGFzc05hbWU6ImxpdGVyYWwiLGJlZ2luOi9cYm9ufG9mZnx0cnVlfGZhbHNlfHllc3xub1xiL30sbD17CmNsYXNzTmFtZToic3RyaW5nIixjb250YWluczpbcy5CQUNLU0xBU0hfRVNDQVBFXSx2YXJpYW50czpbe2JlZ2luOiInJyciLAplbmQ6IicnJyIscmVsZXZhbmNlOjEwfSx7YmVnaW46JyIiIicsZW5kOiciIiInLHJlbGV2YW5jZToxMH0se2JlZ2luOiciJyxlbmQ6JyInCn0se2JlZ2luOiInIixlbmQ6IicifV19LGM9e2JlZ2luOi9cWy8sZW5kOi9cXS8sY29udGFpbnM6W2kscix0LGwsYSwic2VsZiJdLApyZWxldmFuY2U6MAp9LGc9IigiK1svW0EtWmEtejAtOV8tXSsvLC8iKFxcInxbXiJdKSoiLywvJ1teJ10qJy9dLm1hcCgobj0+ZShuKSkpLmpvaW4oInwiKSsiKSIKO3JldHVybntuYW1lOiJUT01MLCBhbHNvIElOSSIsYWxpYXNlczpbInRvbWwiXSxjYXNlX2luc2Vuc2l0aXZlOiEwLGlsbGVnYWw6L1xTLywKY29udGFpbnM6W2kse2NsYXNzTmFtZToic2VjdGlvbiIsYmVnaW46L1xbKy8sZW5kOi9cXSsvfSx7CmJlZ2luOm4oZywiKFxccypcXC5cXHMqIixnLCIpKiIsbigiKD89IiwvXHMqPVxzKlteI1xzXS8sIikiKSksY2xhc3NOYW1lOiJhdHRyIiwKc3RhcnRzOntlbmQ6LyQvLGNvbnRhaW5zOltpLGMscix0LGwsYV19fV19fX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImphdmEiLCgoKT0+eyJ1c2Ugc3RyaWN0Igo7dmFyIGU9IlxcLihbMC05XShfKlswLTldKSopIixuPSJbMC05YS1mQS1GXShfKlswLTlhLWZBLUZdKSoiLGE9ewpjbGFzc05hbWU6Im51bWJlciIsdmFyaWFudHM6W3sKYmVnaW46YChcXGIoWzAtOV0oXypbMC05XSkqKSgoJHtlfSl8XFwuKT98KCR7ZX0pKVtlRV1bKy1dPyhbMC05XShfKlswLTldKSopW2ZGZERdP1xcYmAKfSx7YmVnaW46YFxcYihbMC05XShfKlswLTldKSopKCgke2V9KVtmRmREXT9cXGJ8XFwuKFtmRmREXVxcYik/KWB9LHsKYmVnaW46YCgke2V9KVtmRmREXT9cXGJgfSx7YmVnaW46IlxcYihbMC05XShfKlswLTldKSopW2ZGZERdXFxiIn0sewpiZWdpbjpgXFxiMFt4WF0oKCR7bn0pXFwuP3woJHtufSk/XFwuKCR7bn0pKVtwUF1bKy1dPyhbMC05XShfKlswLTldKSopW2ZGZERdP1xcYmAKfSx7YmVnaW46IlxcYigwfFsxLTldKF8qWzAtOV0pKilbbExdP1xcYiJ9LHtiZWdpbjpgXFxiMFt4WF0oJHtufSlbbExdP1xcYmB9LHsKYmVnaW46IlxcYjAoXypbMC03XSkqW2xMXT9cXGIifSx7YmVnaW46IlxcYjBbYkJdWzAxXShfKlswMV0pKltsTF0/XFxiIn1dLApyZWxldmFuY2U6MH07cmV0dXJuIGU9PnsKdmFyIG49ImZhbHNlIHN5bmNocm9uaXplZCBpbnQgYWJzdHJhY3QgZmxvYXQgcHJpdmF0ZSBjaGFyIGJvb2xlYW4gdmFyIHN0YXRpYyBudWxsIGlmIGNvbnN0IGZvciB0cnVlIHdoaWxlIGxvbmcgc3RyaWN0ZnAgZmluYWxseSBwcm90ZWN0ZWQgaW1wb3J0IG5hdGl2ZSBmaW5hbCB2b2lkIGVudW0gZWxzZSBicmVhayB0cmFuc2llbnQgY2F0Y2ggaW5zdGFuY2VvZiBieXRlIHN1cGVyIHZvbGF0aWxlIGNhc2UgYXNzZXJ0IHNob3J0IHBhY2thZ2UgZGVmYXVsdCBkb3VibGUgcHVibGljIHRyeSB0aGlzIHN3aXRjaCBjb250aW51ZSB0aHJvd3MgcHJvdGVjdGVkIHB1YmxpYyBwcml2YXRlIG1vZHVsZSByZXF1aXJlcyBleHBvcnRzIGRvIixzPXsKY2xhc3NOYW1lOiJtZXRhIixiZWdpbjoiQFtceGMwLVx1MDJiOGEtekEtWl8kXVtceGMwLVx1MDJiOGEtekEtWl8kMC05XSoiLApjb250YWluczpbe2JlZ2luOi9cKC8sZW5kOi9cKS8sY29udGFpbnM6WyJzZWxmIl19XX07Y29uc3Qgcj1hO3JldHVybnsKbmFtZToiSmF2YSIsYWxpYXNlczpbImpzcCJdLGtleXdvcmRzOm4saWxsZWdhbDovPFwvfCMvLApjb250YWluczpbZS5DT01NRU5UKCIvXFwqXFwqIiwiXFwqLyIse3JlbGV2YW5jZTowLGNvbnRhaW5zOlt7YmVnaW46L1x3K0AvLApyZWxldmFuY2U6MH0se2NsYXNzTmFtZToiZG9jdGFnIixiZWdpbjoiQFtBLVphLXpdKyJ9XX0pLHsKYmVnaW46L2ltcG9ydCBqYXZhXC5bYS16XStcLi8sa2V5d29yZHM6ImltcG9ydCIscmVsZXZhbmNlOjIKfSxlLkNfTElORV9DT01NRU5UX01PREUsZS5DX0JMT0NLX0NPTU1FTlRfTU9ERSxlLkFQT1NfU1RSSU5HX01PREUsZS5RVU9URV9TVFJJTkdfTU9ERSx7CmNsYXNzTmFtZToiY2xhc3MiLGJlZ2luS2V5d29yZHM6ImNsYXNzIGludGVyZmFjZSBlbnVtIixlbmQ6L1t7Oz1dLywKZXhjbHVkZUVuZDohMCxrZXl3b3JkczoiY2xhc3MgaW50ZXJmYWNlIGVudW0iLGlsbGVnYWw6L1s6IlxbXF1dLyxjb250YWluczpbewpiZWdpbktleXdvcmRzOiJleHRlbmRzIGltcGxlbWVudHMifSxlLlVOREVSU0NPUkVfVElUTEVfTU9ERV19LHsKYmVnaW5LZXl3b3JkczoibmV3IHRocm93IHJldHVybiBlbHNlIixyZWxldmFuY2U6MH0se2NsYXNzTmFtZToiY2xhc3MiLApiZWdpbjoicmVjb3JkXFxzKyIrZS5VTkRFUlNDT1JFX0lERU5UX1JFKyJcXHMqXFwoIixyZXR1cm5CZWdpbjohMCxleGNsdWRlRW5kOiEwLAplbmQ6L1t7Oz1dLyxrZXl3b3JkczpuLGNvbnRhaW5zOlt7YmVnaW5LZXl3b3JkczoicmVjb3JkIn0sewpiZWdpbjplLlVOREVSU0NPUkVfSURFTlRfUkUrIlxccypcXCgiLHJldHVybkJlZ2luOiEwLHJlbGV2YW5jZTowLApjb250YWluczpbZS5VTkRFUlNDT1JFX1RJVExFX01PREVdfSx7Y2xhc3NOYW1lOiJwYXJhbXMiLGJlZ2luOi9cKC8sZW5kOi9cKS8sCmtleXdvcmRzOm4scmVsZXZhbmNlOjAsY29udGFpbnM6W2UuQ19CTE9DS19DT01NRU5UX01PREVdCn0sZS5DX0xJTkVfQ09NTUVOVF9NT0RFLGUuQ19CTE9DS19DT01NRU5UX01PREVdfSx7Y2xhc3NOYW1lOiJmdW5jdGlvbiIsCmJlZ2luOiIoW1x4YzAtXHUwMmI4YS16QS1aXyRdW1x4YzAtXHUwMmI4YS16QS1aXyQwLTldKig8W1x4YzAtXHUwMmI4YS16QS1aXyRdW1x4YzAtXHUwMmI4YS16QS1aXyQwLTldKihcXHMqLFxccypbXHhjMC1cdTAyYjhhLXpBLVpfJF1bXHhjMC1cdTAyYjhhLXpBLVpfJDAtOV0qKSo+KT9cXHMrKSsiK2UuVU5ERVJTQ09SRV9JREVOVF9SRSsiXFxzKlxcKCIsCnJldHVybkJlZ2luOiEwLGVuZDovW3s7PV0vLGV4Y2x1ZGVFbmQ6ITAsa2V5d29yZHM6bixjb250YWluczpbewpiZWdpbjplLlVOREVSU0NPUkVfSURFTlRfUkUrIlxccypcXCgiLHJldHVybkJlZ2luOiEwLHJlbGV2YW5jZTowLApjb250YWluczpbZS5VTkRFUlNDT1JFX1RJVExFX01PREVdfSx7Y2xhc3NOYW1lOiJwYXJhbXMiLGJlZ2luOi9cKC8sZW5kOi9cKS8sCmtleXdvcmRzOm4scmVsZXZhbmNlOjAsCmNvbnRhaW5zOltzLGUuQVBPU19TVFJJTkdfTU9ERSxlLlFVT1RFX1NUUklOR19NT0RFLHIsZS5DX0JMT0NLX0NPTU1FTlRfTU9ERV0KfSxlLkNfTElORV9DT01NRU5UX01PREUsZS5DX0JMT0NLX0NPTU1FTlRfTU9ERV19LHIsc119fX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImphdmFzY3JpcHQiLCgoKT0+eyJ1c2Ugc3RyaWN0Igo7Y29uc3QgZT0iW0EtWmEteiRfXVswLTlBLVphLXokX10qIixuPVsiYXMiLCJpbiIsIm9mIiwiaWYiLCJmb3IiLCJ3aGlsZSIsImZpbmFsbHkiLCJ2YXIiLCJuZXciLCJmdW5jdGlvbiIsImRvIiwicmV0dXJuIiwidm9pZCIsImVsc2UiLCJicmVhayIsImNhdGNoIiwiaW5zdGFuY2VvZiIsIndpdGgiLCJ0aHJvdyIsImNhc2UiLCJkZWZhdWx0IiwidHJ5Iiwic3dpdGNoIiwiY29udGludWUiLCJ0eXBlb2YiLCJkZWxldGUiLCJsZXQiLCJ5aWVsZCIsImNvbnN0IiwiY2xhc3MiLCJkZWJ1Z2dlciIsImFzeW5jIiwiYXdhaXQiLCJzdGF0aWMiLCJpbXBvcnQiLCJmcm9tIiwiZXhwb3J0IiwiZXh0ZW5kcyJdLGE9WyJ0cnVlIiwiZmFsc2UiLCJudWxsIiwidW5kZWZpbmVkIiwiTmFOIiwiSW5maW5pdHkiXSxzPVtdLmNvbmNhdChbInNldEludGVydmFsIiwic2V0VGltZW91dCIsImNsZWFySW50ZXJ2YWwiLCJjbGVhclRpbWVvdXQiLCJyZXF1aXJlIiwiZXhwb3J0cyIsImV2YWwiLCJpc0Zpbml0ZSIsImlzTmFOIiwicGFyc2VGbG9hdCIsInBhcnNlSW50IiwiZGVjb2RlVVJJIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiZW5jb2RlVVJJIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiZXNjYXBlIiwidW5lc2NhcGUiXSxbImFyZ3VtZW50cyIsInRoaXMiLCJzdXBlciIsImNvbnNvbGUiLCJ3aW5kb3ciLCJkb2N1bWVudCIsImxvY2FsU3RvcmFnZSIsIm1vZHVsZSIsImdsb2JhbCJdLFsiSW50bCIsIkRhdGFWaWV3IiwiTnVtYmVyIiwiTWF0aCIsIkRhdGUiLCJTdHJpbmciLCJSZWdFeHAiLCJPYmplY3QiLCJGdW5jdGlvbiIsIkJvb2xlYW4iLCJFcnJvciIsIlN5bWJvbCIsIlNldCIsIk1hcCIsIldlYWtTZXQiLCJXZWFrTWFwIiwiUHJveHkiLCJSZWZsZWN0IiwiSlNPTiIsIlByb21pc2UiLCJGbG9hdDY0QXJyYXkiLCJJbnQxNkFycmF5IiwiSW50MzJBcnJheSIsIkludDhBcnJheSIsIlVpbnQxNkFycmF5IiwiVWludDMyQXJyYXkiLCJGbG9hdDMyQXJyYXkiLCJBcnJheSIsIlVpbnQ4QXJyYXkiLCJVaW50OENsYW1wZWRBcnJheSIsIkFycmF5QnVmZmVyIl0sWyJFdmFsRXJyb3IiLCJJbnRlcm5hbEVycm9yIiwiUmFuZ2VFcnJvciIsIlJlZmVyZW5jZUVycm9yIiwiU3ludGF4RXJyb3IiLCJUeXBlRXJyb3IiLCJVUklFcnJvciJdKQo7ZnVuY3Rpb24gcihlKXtyZXR1cm4gaSgiKD89IixlLCIpIil9ZnVuY3Rpb24gaSguLi5lKXtyZXR1cm4gZS5tYXAoKGU9PnsKcmV0dXJuKG49ZSk/InN0cmluZyI9PXR5cGVvZiBuP246bi5zb3VyY2U6bnVsbDt2YXIgbn0pKS5qb2luKCIiKX1yZXR1cm4gdD0+ewpjb25zdCBjPWUsbz17YmVnaW46LzxbQS1aYS16MC05XFwuXzotXSsvLGVuZDovXC9bQS1aYS16MC05XFwuXzotXSs+fFwvPi8sCmlzVHJ1bHlPcGVuaW5nVGFnOihlLG4pPT57Y29uc3QgYT1lWzBdLmxlbmd0aCtlLmluZGV4LHM9ZS5pbnB1dFthXQo7IjwiIT09cz8iPiI9PT1zJiYoKChlLHthZnRlcjpufSk9Pntjb25zdCBhPSI8LyIrZVswXS5zbGljZSgxKQo7cmV0dXJuLTEhPT1lLmlucHV0LmluZGV4T2YoYSxuKX0pKGUse2FmdGVyOmEKfSl8fG4uaWdub3JlTWF0Y2goKSk6bi5pZ25vcmVNYXRjaCgpfX0sbD17JHBhdHRlcm46ZSxrZXl3b3JkOm4uam9pbigiICIpLApsaXRlcmFsOmEuam9pbigiICIpLGJ1aWx0X2luOnMuam9pbigiICIpCn0sYj0iXFwuKFswLTldKF8/WzAtOV0pKikiLGc9IjB8WzEtOV0oXz9bMC05XSkqfDBbMC03XSpbODldWzAtOV0qIixkPXsKY2xhc3NOYW1lOiJudW1iZXIiLHZhcmlhbnRzOlt7CmJlZ2luOmAoXFxiKCR7Z30pKCgke2J9KXxcXC4pP3woJHtifSkpW2VFXVsrLV0/KFswLTldKF8/WzAtOV0pKilcXGJgfSx7CmJlZ2luOmBcXGIoJHtnfSlcXGIoKCR7Yn0pXFxifFxcLik/fCgke2J9KVxcYmB9LHsKYmVnaW46IlxcYigwfFsxLTldKF8/WzAtOV0pKiluXFxiIn0sewpiZWdpbjoiXFxiMFt4WF1bMC05YS1mQS1GXShfP1swLTlhLWZBLUZdKSpuP1xcYiJ9LHsKYmVnaW46IlxcYjBbYkJdWzAtMV0oXz9bMC0xXSkqbj9cXGIifSx7YmVnaW46IlxcYjBbb09dWzAtN10oXz9bMC03XSkqbj9cXGIifSx7CmJlZ2luOiJcXGIwWzAtN10rbj9cXGIifV0scmVsZXZhbmNlOjB9LEU9e2NsYXNzTmFtZToic3Vic3QiLGJlZ2luOiJcXCRcXHsiLAplbmQ6IlxcfSIsa2V5d29yZHM6bCxjb250YWluczpbXX0sdT17YmVnaW46Imh0bWxgIixlbmQ6IiIsc3RhcnRzOntlbmQ6ImAiLApyZXR1cm5FbmQ6ITEsY29udGFpbnM6W3QuQkFDS1NMQVNIX0VTQ0FQRSxFXSxzdWJMYW5ndWFnZToieG1sIn19LF89ewpiZWdpbjoiY3NzYCIsZW5kOiIiLHN0YXJ0czp7ZW5kOiJgIixyZXR1cm5FbmQ6ITEsCmNvbnRhaW5zOlt0LkJBQ0tTTEFTSF9FU0NBUEUsRV0sc3ViTGFuZ3VhZ2U6ImNzcyJ9fSxtPXtjbGFzc05hbWU6InN0cmluZyIsCmJlZ2luOiJgIixlbmQ6ImAiLGNvbnRhaW5zOlt0LkJBQ0tTTEFTSF9FU0NBUEUsRV19LE49e2NsYXNzTmFtZToiY29tbWVudCIsCnZhcmlhbnRzOlt0LkNPTU1FTlQoL1wvXCpcKig/IVwvKS8sIlxcKi8iLHtyZWxldmFuY2U6MCxjb250YWluczpbewpjbGFzc05hbWU6ImRvY3RhZyIsYmVnaW46IkBbQS1aYS16XSsiLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJ0eXBlIixiZWdpbjoiXFx7IiwKZW5kOiJcXH0iLHJlbGV2YW5jZTowfSx7Y2xhc3NOYW1lOiJ2YXJpYWJsZSIsYmVnaW46YysiKD89XFxzKigtKXwkKSIsCmVuZHNQYXJlbnQ6ITAscmVsZXZhbmNlOjB9LHtiZWdpbjovKD89W15cbl0pXHMvLHJlbGV2YW5jZTowfV19XQp9KSx0LkNfQkxPQ0tfQ09NTUVOVF9NT0RFLHQuQ19MSU5FX0NPTU1FTlRfTU9ERV0KfSx5PVt0LkFQT1NfU1RSSU5HX01PREUsdC5RVU9URV9TVFJJTkdfTU9ERSx1LF8sbSxkLHQuUkVHRVhQX01PREVdCjtFLmNvbnRhaW5zPXkuY29uY2F0KHtiZWdpbjovXHsvLGVuZDovXH0vLGtleXdvcmRzOmwsY29udGFpbnM6WyJzZWxmIl0uY29uY2F0KHkpCn0pO2NvbnN0IGY9W10uY29uY2F0KE4sRS5jb250YWlucyksQT1mLmNvbmNhdChbe2JlZ2luOi9cKC8sZW5kOi9cKS8sa2V5d29yZHM6bCwKY29udGFpbnM6WyJzZWxmIl0uY29uY2F0KGYpfV0pLHA9e2NsYXNzTmFtZToicGFyYW1zIixiZWdpbjovXCgvLGVuZDovXCkvLApleGNsdWRlQmVnaW46ITAsZXhjbHVkZUVuZDohMCxrZXl3b3JkczpsLGNvbnRhaW5zOkF9O3JldHVybntuYW1lOiJKYXZhc2NyaXB0IiwKYWxpYXNlczpbImpzIiwianN4IiwibWpzIiwiY2pzIl0sa2V5d29yZHM6bCxleHBvcnRzOntQQVJBTVNfQ09OVEFJTlM6QX0sCmlsbGVnYWw6LyMoPyFbJF9BLXpdKS8sY29udGFpbnM6W3QuU0hFQkFORyh7bGFiZWw6InNoZWJhbmciLGJpbmFyeToibm9kZSIsCnJlbGV2YW5jZTo1fSkse2xhYmVsOiJ1c2Vfc3RyaWN0IixjbGFzc05hbWU6Im1ldGEiLHJlbGV2YW5jZToxMCwKYmVnaW46L15ccypbJyJddXNlIChzdHJpY3R8YXNtKVsnIl0vCn0sdC5BUE9TX1NUUklOR19NT0RFLHQuUVVPVEVfU1RSSU5HX01PREUsdSxfLG0sTixkLHsKYmVnaW46aSgvW3ssXG5dXHMqLyxyKGkoLygoKFwvXC8uKiQpfChcL1wqKFwqW14vXXxbXipdKSpcKlwvKSlccyopKi8sYysiXFxzKjoiKSkpLApyZWxldmFuY2U6MCxjb250YWluczpbe2NsYXNzTmFtZToiYXR0ciIsYmVnaW46YytyKCJcXHMqOiIpLHJlbGV2YW5jZTowfV19LHsKYmVnaW46IigiK3QuUkVfU1RBUlRFUlNfUkUrInxcXGIoY2FzZXxyZXR1cm58dGhyb3cpXFxiKVxccyoiLAprZXl3b3JkczoicmV0dXJuIHRocm93IGNhc2UiLGNvbnRhaW5zOltOLHQuUkVHRVhQX01PREUse2NsYXNzTmFtZToiZnVuY3Rpb24iLApiZWdpbjoiKFxcKFteKCldKihcXChbXigpXSooXFwoW14oKV0qXFwpW14oKV0qKSpcXClbXigpXSopKlxcKXwiK3QuVU5ERVJTQ09SRV9JREVOVF9SRSsiKVxccyo9PiIsCnJldHVybkJlZ2luOiEwLGVuZDoiXFxzKj0+Iixjb250YWluczpbe2NsYXNzTmFtZToicGFyYW1zIix2YXJpYW50czpbewpiZWdpbjp0LlVOREVSU0NPUkVfSURFTlRfUkUscmVsZXZhbmNlOjB9LHtjbGFzc05hbWU6bnVsbCxiZWdpbjovXChccypcKS8sc2tpcDohMAp9LHtiZWdpbjovXCgvLGVuZDovXCkvLGV4Y2x1ZGVCZWdpbjohMCxleGNsdWRlRW5kOiEwLGtleXdvcmRzOmwsY29udGFpbnM6QX1dfV0KfSx7YmVnaW46LywvLHJlbGV2YW5jZTowfSx7Y2xhc3NOYW1lOiIiLGJlZ2luOi9ccy8sZW5kOi9ccyovLHNraXA6ITB9LHsKdmFyaWFudHM6W3tiZWdpbjoiPD4iLGVuZDoiPC8+In0se2JlZ2luOm8uYmVnaW4sIm9uOmJlZ2luIjpvLmlzVHJ1bHlPcGVuaW5nVGFnLAplbmQ6by5lbmR9XSxzdWJMYW5ndWFnZToieG1sIixjb250YWluczpbe2JlZ2luOm8uYmVnaW4sZW5kOm8uZW5kLHNraXA6ITAsCmNvbnRhaW5zOlsic2VsZiJdfV19XSxyZWxldmFuY2U6MH0se2NsYXNzTmFtZToiZnVuY3Rpb24iLApiZWdpbktleXdvcmRzOiJmdW5jdGlvbiIsZW5kOi9beztdLyxleGNsdWRlRW5kOiEwLGtleXdvcmRzOmwsCmNvbnRhaW5zOlsic2VsZiIsdC5pbmhlcml0KHQuVElUTEVfTU9ERSx7YmVnaW46Y30pLHBdLGlsbGVnYWw6LyUvfSx7CmJlZ2luS2V5d29yZHM6IndoaWxlIGlmIHN3aXRjaCBjYXRjaCBmb3IifSx7Y2xhc3NOYW1lOiJmdW5jdGlvbiIsCmJlZ2luOnQuVU5ERVJTQ09SRV9JREVOVF9SRSsiXFwoW14oKV0qKFxcKFteKCldKihcXChbXigpXSpcXClbXigpXSopKlxcKVteKCldKikqXFwpXFxzKlxceyIsCnJldHVybkJlZ2luOiEwLGNvbnRhaW5zOltwLHQuaW5oZXJpdCh0LlRJVExFX01PREUse2JlZ2luOmN9KV19LHt2YXJpYW50czpbewpiZWdpbjoiXFwuIitjfSx7YmVnaW46IlxcJCIrY31dLHJlbGV2YW5jZTowfSx7Y2xhc3NOYW1lOiJjbGFzcyIsCmJlZ2luS2V5d29yZHM6ImNsYXNzIixlbmQ6L1t7Oz1dLyxleGNsdWRlRW5kOiEwLGlsbGVnYWw6L1s6IltcXV0vLGNvbnRhaW5zOlt7CmJlZ2luS2V5d29yZHM6ImV4dGVuZHMifSx0LlVOREVSU0NPUkVfVElUTEVfTU9ERV19LHtiZWdpbjovXGIoPz1jb25zdHJ1Y3RvcikvLAplbmQ6L1t7O10vLGV4Y2x1ZGVFbmQ6ITAsY29udGFpbnM6W3QuaW5oZXJpdCh0LlRJVExFX01PREUse2JlZ2luOmN9KSwic2VsZiIscF0KfSx7YmVnaW46IihnZXR8c2V0KVxccysoPz0iK2MrIlxcKCkiLGVuZDovXHsvLGtleXdvcmRzOiJnZXQgc2V0IiwKY29udGFpbnM6W3QuaW5oZXJpdCh0LlRJVExFX01PREUse2JlZ2luOmN9KSx7YmVnaW46L1woXCkvfSxwXX0se2JlZ2luOi9cJFsoLl0vfV0KfX19KSgpKTsKaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJqc29uIiwoKCk9PnsidXNlIHN0cmljdCI7cmV0dXJuIG49Pntjb25zdCBlPXsKbGl0ZXJhbDoidHJ1ZSBmYWxzZSBudWxsIgp9LGk9W24uQ19MSU5FX0NPTU1FTlRfTU9ERSxuLkNfQkxPQ0tfQ09NTUVOVF9NT0RFXSxhPVtuLlFVT1RFX1NUUklOR19NT0RFLG4uQ19OVU1CRVJfTU9ERV0sbD17CmVuZDoiLCIsZW5kc1dpdGhQYXJlbnQ6ITAsZXhjbHVkZUVuZDohMCxjb250YWluczphLGtleXdvcmRzOmV9LHQ9e2JlZ2luOi9cey8sCmVuZDovXH0vLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJhdHRyIixiZWdpbjovIi8sZW5kOi8iLywKY29udGFpbnM6W24uQkFDS1NMQVNIX0VTQ0FQRV0saWxsZWdhbDoiXFxuIn0sbi5pbmhlcml0KGwse2JlZ2luOi86Lwp9KV0uY29uY2F0KGkpLGlsbGVnYWw6IlxcUyJ9LHM9e2JlZ2luOiJcXFsiLGVuZDoiXFxdIixjb250YWluczpbbi5pbmhlcml0KGwpXSwKaWxsZWdhbDoiXFxTIn07cmV0dXJuIGEucHVzaCh0LHMpLGkuZm9yRWFjaCgobj0+e2EucHVzaChuKX0pKSx7bmFtZToiSlNPTiIsCmNvbnRhaW5zOmEsa2V5d29yZHM6ZSxpbGxlZ2FsOiJcXFMifX19KSgpKTsKaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJrb3RsaW4iLCgoKT0+eyJ1c2Ugc3RyaWN0Igo7dmFyIGU9IlxcLihbMC05XShfKlswLTldKSopIixuPSJbMC05YS1mQS1GXShfKlswLTlhLWZBLUZdKSoiLGE9ewpjbGFzc05hbWU6Im51bWJlciIsdmFyaWFudHM6W3sKYmVnaW46YChcXGIoWzAtOV0oXypbMC05XSkqKSgoJHtlfSl8XFwuKT98KCR7ZX0pKVtlRV1bKy1dPyhbMC05XShfKlswLTldKSopW2ZGZERdP1xcYmAKfSx7YmVnaW46YFxcYihbMC05XShfKlswLTldKSopKCgke2V9KVtmRmREXT9cXGJ8XFwuKFtmRmREXVxcYik/KWB9LHsKYmVnaW46YCgke2V9KVtmRmREXT9cXGJgfSx7YmVnaW46IlxcYihbMC05XShfKlswLTldKSopW2ZGZERdXFxiIn0sewpiZWdpbjpgXFxiMFt4WF0oKCR7bn0pXFwuP3woJHtufSk/XFwuKCR7bn0pKVtwUF1bKy1dPyhbMC05XShfKlswLTldKSopW2ZGZERdP1xcYmAKfSx7YmVnaW46IlxcYigwfFsxLTldKF8qWzAtOV0pKilbbExdP1xcYiJ9LHtiZWdpbjpgXFxiMFt4WF0oJHtufSlbbExdP1xcYmB9LHsKYmVnaW46IlxcYjAoXypbMC03XSkqW2xMXT9cXGIifSx7YmVnaW46IlxcYjBbYkJdWzAxXShfKlswMV0pKltsTF0/XFxiIn1dLApyZWxldmFuY2U6MH07cmV0dXJuIGU9Pntjb25zdCBuPXsKa2V5d29yZDoiYWJzdHJhY3QgYXMgdmFsIHZhciB2YXJhcmcgZ2V0IHNldCBjbGFzcyBvYmplY3Qgb3BlbiBwcml2YXRlIHByb3RlY3RlZCBwdWJsaWMgbm9pbmxpbmUgY3Jvc3NpbmxpbmUgZHluYW1pYyBmaW5hbCBlbnVtIGlmIGVsc2UgZG8gd2hpbGUgZm9yIHdoZW4gdGhyb3cgdHJ5IGNhdGNoIGZpbmFsbHkgaW1wb3J0IHBhY2thZ2UgaXMgaW4gZnVuIG92ZXJyaWRlIGNvbXBhbmlvbiByZWlmaWVkIGlubGluZSBsYXRlaW5pdCBpbml0IGludGVyZmFjZSBhbm5vdGF0aW9uIGRhdGEgc2VhbGVkIGludGVybmFsIGluZml4IG9wZXJhdG9yIG91dCBieSBjb25zdHJ1Y3RvciBzdXBlciB0YWlscmVjIHdoZXJlIGNvbnN0IGlubmVyIHN1c3BlbmQgdHlwZWFsaWFzIGV4dGVybmFsIGV4cGVjdCBhY3R1YWwiLApidWlsdF9pbjoiQnl0ZSBTaG9ydCBDaGFyIEludCBMb25nIEJvb2xlYW4gRmxvYXQgRG91YmxlIFZvaWQgVW5pdCBOb3RoaW5nIiwKbGl0ZXJhbDoidHJ1ZSBmYWxzZSBudWxsIn0saT17Y2xhc3NOYW1lOiJzeW1ib2wiLGJlZ2luOmUuVU5ERVJTQ09SRV9JREVOVF9SRSsiQCIKfSxzPXtjbGFzc05hbWU6InN1YnN0IixiZWdpbjovXCRcey8sZW5kOi9cfS8sY29udGFpbnM6W2UuQ19OVU1CRVJfTU9ERV19LHQ9ewpjbGFzc05hbWU6InZhcmlhYmxlIixiZWdpbjoiXFwkIitlLlVOREVSU0NPUkVfSURFTlRfUkV9LHI9e2NsYXNzTmFtZToic3RyaW5nIiwKdmFyaWFudHM6W3tiZWdpbjonIiIiJyxlbmQ6JyIiIig/PVteIl0pJyxjb250YWluczpbdCxzXX0se2JlZ2luOiInIixlbmQ6IiciLAppbGxlZ2FsOi9cbi8sY29udGFpbnM6W2UuQkFDS1NMQVNIX0VTQ0FQRV19LHtiZWdpbjonIicsZW5kOiciJyxpbGxlZ2FsOi9cbi8sCmNvbnRhaW5zOltlLkJBQ0tTTEFTSF9FU0NBUEUsdCxzXX1dfTtzLmNvbnRhaW5zLnB1c2gocik7Y29uc3QgbD17CmNsYXNzTmFtZToibWV0YSIsCmJlZ2luOiJAKD86ZmlsZXxwcm9wZXJ0eXxmaWVsZHxnZXR8c2V0fHJlY2VpdmVyfHBhcmFtfHNldHBhcmFtfGRlbGVnYXRlKVxccyo6KD86XFxzKiIrZS5VTkRFUlNDT1JFX0lERU5UX1JFKyIpPyIKfSxjPXtjbGFzc05hbWU6Im1ldGEiLGJlZ2luOiJAIitlLlVOREVSU0NPUkVfSURFTlRfUkUsY29udGFpbnM6W3tiZWdpbjovXCgvLAplbmQ6L1wpLyxjb250YWluczpbZS5pbmhlcml0KHIse2NsYXNzTmFtZToibWV0YS1zdHJpbmcifSldfV0KfSxvPWEsYj1lLkNPTU1FTlQoIi9cXCoiLCJcXCovIix7Y29udGFpbnM6W2UuQ19CTE9DS19DT01NRU5UX01PREVdfSksRT17CnZhcmlhbnRzOlt7Y2xhc3NOYW1lOiJ0eXBlIixiZWdpbjplLlVOREVSU0NPUkVfSURFTlRfUkV9LHtiZWdpbjovXCgvLGVuZDovXCkvLApjb250YWluczpbXX1dfSxkPUU7cmV0dXJuIGQudmFyaWFudHNbMV0uY29udGFpbnM9W0VdLEUudmFyaWFudHNbMV0uY29udGFpbnM9W2RdLAp7bmFtZToiS290bGluIixhbGlhc2VzOlsia3QiXSxrZXl3b3JkczpuLGNvbnRhaW5zOltlLkNPTU1FTlQoIi9cXCpcXCoiLCJcXCovIix7CnJlbGV2YW5jZTowLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJkb2N0YWciLGJlZ2luOiJAW0EtWmEtel0rIn1dCn0pLGUuQ19MSU5FX0NPTU1FTlRfTU9ERSxiLHtjbGFzc05hbWU6ImtleXdvcmQiLApiZWdpbjovXGIoYnJlYWt8Y29udGludWV8cmV0dXJufHRoaXMpXGIvLHN0YXJ0czp7Y29udGFpbnM6W3tjbGFzc05hbWU6InN5bWJvbCIsCmJlZ2luOi9AXHcrL31dfX0saSxsLGMse2NsYXNzTmFtZToiZnVuY3Rpb24iLGJlZ2luS2V5d29yZHM6ImZ1biIsZW5kOiJbKF18JCIsCnJldHVybkJlZ2luOiEwLGV4Y2x1ZGVFbmQ6ITAsa2V5d29yZHM6bixyZWxldmFuY2U6NSxjb250YWluczpbewpiZWdpbjplLlVOREVSU0NPUkVfSURFTlRfUkUrIlxccypcXCgiLHJldHVybkJlZ2luOiEwLHJlbGV2YW5jZTowLApjb250YWluczpbZS5VTkRFUlNDT1JFX1RJVExFX01PREVdfSx7Y2xhc3NOYW1lOiJ0eXBlIixiZWdpbjovPC8sZW5kOi8+LywKa2V5d29yZHM6InJlaWZpZWQiLHJlbGV2YW5jZTowfSx7Y2xhc3NOYW1lOiJwYXJhbXMiLGJlZ2luOi9cKC8sZW5kOi9cKS8sCmVuZHNQYXJlbnQ6ITAsa2V5d29yZHM6bixyZWxldmFuY2U6MCxjb250YWluczpbe2JlZ2luOi86LyxlbmQ6L1s9LFwvXS8sCmVuZHNXaXRoUGFyZW50OiEwLGNvbnRhaW5zOltFLGUuQ19MSU5FX0NPTU1FTlRfTU9ERSxiXSxyZWxldmFuY2U6MAp9LGUuQ19MSU5FX0NPTU1FTlRfTU9ERSxiLGwsYyxyLGUuQ19OVU1CRVJfTU9ERV19LGJdfSx7Y2xhc3NOYW1lOiJjbGFzcyIsCmJlZ2luS2V5d29yZHM6ImNsYXNzIGludGVyZmFjZSB0cmFpdCIsZW5kOi9bOlx7KF18JC8sZXhjbHVkZUVuZDohMCwKaWxsZWdhbDoiZXh0ZW5kcyBpbXBsZW1lbnRzIixjb250YWluczpbewpiZWdpbktleXdvcmRzOiJwdWJsaWMgcHJvdGVjdGVkIGludGVybmFsIHByaXZhdGUgY29uc3RydWN0b3IiCn0sZS5VTkRFUlNDT1JFX1RJVExFX01PREUse2NsYXNzTmFtZToidHlwZSIsYmVnaW46LzwvLGVuZDovPi8sZXhjbHVkZUJlZ2luOiEwLApleGNsdWRlRW5kOiEwLHJlbGV2YW5jZTowfSx7Y2xhc3NOYW1lOiJ0eXBlIixiZWdpbjovWyw6XVxzKi8sZW5kOi9bPFwoLF18JC8sCmV4Y2x1ZGVCZWdpbjohMCxyZXR1cm5FbmQ6ITB9LGwsY119LHIse2NsYXNzTmFtZToibWV0YSIsYmVnaW46Il4jIS91c3IvYmluL2VudiIsCmVuZDoiJCIsaWxsZWdhbDoiXG4ifSxvXX19fSkoKSk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgibGVzcyIsKCgpPT57InVzZSBzdHJpY3QiO3JldHVybiBlPT57CnZhciBuPSIoW1xcdy1dK3xAXFx7W1xcdy1dK1xcfSkiLGE9W10scz1bXSx0PWU9Pih7Y2xhc3NOYW1lOiJzdHJpbmciLApiZWdpbjoifj8iK2UrIi4qPyIrZX0pLHI9KGUsbixhKT0+KHtjbGFzc05hbWU6ZSxiZWdpbjpuLHJlbGV2YW5jZTphfSksaT17CmJlZ2luOiJcXCgiLGVuZDoiXFwpIixjb250YWluczpzLHJlbGV2YW5jZTowfQo7cy5wdXNoKGUuQ19MSU5FX0NPTU1FTlRfTU9ERSxlLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLHQoIiciKSx0KCciJyksZS5DU1NfTlVNQkVSX01PREUsewpiZWdpbjoiKHVybHxkYXRhLXVyaSlcXCgiLHN0YXJ0czp7Y2xhc3NOYW1lOiJzdHJpbmciLGVuZDoiW1xcKVxcbl0iLApleGNsdWRlRW5kOiEwfQp9LHIoIm51bWJlciIsIiNbMC05QS1GYS1mXStcXGIiKSxpLHIoInZhcmlhYmxlIiwiQEA/W1xcdy1dKyIsMTApLHIoInZhcmlhYmxlIiwiQFxce1tcXHctXStcXH0iKSxyKCJidWlsdF9pbiIsIn4/YFteYF0qP2AiKSx7CmNsYXNzTmFtZToiYXR0cmlidXRlIixiZWdpbjoiW1xcdy1dK1xccyo6IixlbmQ6IjoiLHJldHVybkJlZ2luOiEwLGV4Y2x1ZGVFbmQ6ITAKfSx7Y2xhc3NOYW1lOiJtZXRhIixiZWdpbjoiIWltcG9ydGFudCJ9KTt2YXIgYz1zLmNvbmNhdCh7YmVnaW46L1x7LyxlbmQ6L1x9LywKY29udGFpbnM6YX0pLGw9e2JlZ2luS2V5d29yZHM6IndoZW4iLGVuZHNXaXRoUGFyZW50OiEwLGNvbnRhaW5zOlt7CmJlZ2luS2V5d29yZHM6ImFuZCBub3QifV0uY29uY2F0KHMpfSxnPXtiZWdpbjpuKyJcXHMqOiIscmV0dXJuQmVnaW46ITAsCmVuZDoiWzt9XSIscmVsZXZhbmNlOjAsY29udGFpbnM6W3tjbGFzc05hbWU6ImF0dHJpYnV0ZSIsYmVnaW46bixlbmQ6IjoiLApleGNsdWRlRW5kOiEwLHN0YXJ0czp7ZW5kc1dpdGhQYXJlbnQ6ITAsaWxsZWdhbDoiWzw9JF0iLHJlbGV2YW5jZTowLGNvbnRhaW5zOnN9Cn1dfSxkPXtjbGFzc05hbWU6ImtleXdvcmQiLApiZWdpbjoiQChpbXBvcnR8bWVkaWF8Y2hhcnNldHxmb250LWZhY2V8KC1bYS16XSstKT9rZXlmcmFtZXN8c3VwcG9ydHN8ZG9jdW1lbnR8bmFtZXNwYWNlfHBhZ2V8dmlld3BvcnR8aG9zdClcXGIiLApzdGFydHM6e2VuZDoiWzt7fV0iLHJldHVybkVuZDohMCxjb250YWluczpzLHJlbGV2YW5jZTowfX0sbz17CmNsYXNzTmFtZToidmFyaWFibGUiLHZhcmlhbnRzOlt7YmVnaW46IkBbXFx3LV0rXFxzKjoiLHJlbGV2YW5jZToxNX0sewpiZWdpbjoiQFtcXHctXSsifV0sc3RhcnRzOntlbmQ6Ils7fV0iLHJldHVybkVuZDohMCxjb250YWluczpjfX0sYj17dmFyaWFudHM6W3sKYmVnaW46IltcXC4jOiZcXFs+XSIsZW5kOiJbO3t9XSJ9LHtiZWdpbjpuLGVuZDovXHsvfV0scmV0dXJuQmVnaW46ITAsCnJldHVybkVuZDohMCxpbGxlZ2FsOiJbPD0nJFwiXSIscmVsZXZhbmNlOjAsCmNvbnRhaW5zOltlLkNfTElORV9DT01NRU5UX01PREUsZS5DX0JMT0NLX0NPTU1FTlRfTU9ERSxsLHIoImtleXdvcmQiLCJhbGxcXGIiKSxyKCJ2YXJpYWJsZSIsIkBcXHtbXFx3LV0rXFx9Iikscigic2VsZWN0b3ItdGFnIixuKyIlPyIsMCkscigic2VsZWN0b3ItaWQiLCIjIituKSxyKCJzZWxlY3Rvci1jbGFzcyIsIlxcLiIrbiwwKSxyKCJzZWxlY3Rvci10YWciLCImIiwwKSx7CmNsYXNzTmFtZToic2VsZWN0b3ItYXR0ciIsYmVnaW46IlxcWyIsZW5kOiJcXF0ifSx7Y2xhc3NOYW1lOiJzZWxlY3Rvci1wc2V1ZG8iLApiZWdpbjovOig6KT9bYS16QS1aMC05X1wtKygpIicuXSsvfSx7YmVnaW46IlxcKCIsZW5kOiJcXCkiLGNvbnRhaW5zOmN9LHsKYmVnaW46IiFpbXBvcnRhbnQifV19CjtyZXR1cm4gYS5wdXNoKGUuQ19MSU5FX0NPTU1FTlRfTU9ERSxlLkNfQkxPQ0tfQ09NTUVOVF9NT0RFLGQsbyxnLGIpLHsKbmFtZToiTGVzcyIsY2FzZV9pbnNlbnNpdGl2ZTohMCxpbGxlZ2FsOiJbPT4nLzwoJFwiXSIsY29udGFpbnM6YX19fSkoKSk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgibHVhIiwoKCk9PnsidXNlIHN0cmljdCI7cmV0dXJuIGU9PnsKY29uc3QgdD0iXFxbPSpcXFsiLGE9IlxcXT0qXFxdIixuPXtiZWdpbjp0LGVuZDphLGNvbnRhaW5zOlsic2VsZiJdCn0sbz1bZS5DT01NRU5UKCItLSg/IVxcWz0qXFxbKSIsIiQiKSxlLkNPTU1FTlQoIi0tXFxbPSpcXFsiLGEse2NvbnRhaW5zOltuXSwKcmVsZXZhbmNlOjEwfSldO3JldHVybntuYW1lOiJMdWEiLGtleXdvcmRzOnskcGF0dGVybjplLlVOREVSU0NPUkVfSURFTlRfUkUsCmxpdGVyYWw6InRydWUgZmFsc2UgbmlsIiwKa2V5d29yZDoiYW5kIGJyZWFrIGRvIGVsc2UgZWxzZWlmIGVuZCBmb3IgZ290byBpZiBpbiBsb2NhbCBub3Qgb3IgcmVwZWF0IHJldHVybiB0aGVuIHVudGlsIHdoaWxlIiwKYnVpbHRfaW46Il9HIF9FTlYgX1ZFUlNJT04gX19pbmRleCBfX25ld2luZGV4IF9fbW9kZSBfX2NhbGwgX19tZXRhdGFibGUgX190b3N0cmluZyBfX2xlbiBfX2djIF9fYWRkIF9fc3ViIF9fbXVsIF9fZGl2IF9fbW9kIF9fcG93IF9fY29uY2F0IF9fdW5tIF9fZXEgX19sdCBfX2xlIGFzc2VydCBjb2xsZWN0Z2FyYmFnZSBkb2ZpbGUgZXJyb3IgZ2V0ZmVudiBnZXRtZXRhdGFibGUgaXBhaXJzIGxvYWQgbG9hZGZpbGUgbG9hZHN0cmluZyBtb2R1bGUgbmV4dCBwYWlycyBwY2FsbCBwcmludCByYXdlcXVhbCByYXdnZXQgcmF3c2V0IHJlcXVpcmUgc2VsZWN0IHNldGZlbnYgc2V0bWV0YXRhYmxlIHRvbnVtYmVyIHRvc3RyaW5nIHR5cGUgdW5wYWNrIHhwY2FsbCBhcmcgc2VsZiBjb3JvdXRpbmUgcmVzdW1lIHlpZWxkIHN0YXR1cyB3cmFwIGNyZWF0ZSBydW5uaW5nIGRlYnVnIGdldHVwdmFsdWUgZGVidWcgc2V0aG9vayBnZXRtZXRhdGFibGUgZ2V0aG9vayBzZXRtZXRhdGFibGUgc2V0bG9jYWwgdHJhY2ViYWNrIHNldGZlbnYgZ2V0aW5mbyBzZXR1cHZhbHVlIGdldGxvY2FsIGdldHJlZ2lzdHJ5IGdldGZlbnYgaW8gbGluZXMgd3JpdGUgY2xvc2UgZmx1c2ggb3BlbiBvdXRwdXQgdHlwZSByZWFkIHN0ZGVyciBzdGRpbiBpbnB1dCBzdGRvdXQgcG9wZW4gdG1wZmlsZSBtYXRoIGxvZyBtYXggYWNvcyBodWdlIGxkZXhwIHBpIGNvcyB0YW5oIHBvdyBkZWcgdGFuIGNvc2ggc2luaCByYW5kb20gcmFuZG9tc2VlZCBmcmV4cCBjZWlsIGZsb29yIHJhZCBhYnMgc3FydCBtb2RmIGFzaW4gbWluIG1vZCBmbW9kIGxvZzEwIGF0YW4yIGV4cCBzaW4gYXRhbiBvcyBleGl0IHNldGxvY2FsZSBkYXRlIGdldGVudiBkaWZmdGltZSByZW1vdmUgdGltZSBjbG9jayB0bXBuYW1lIHJlbmFtZSBleGVjdXRlIHBhY2thZ2UgcHJlbG9hZCBsb2FkbGliIGxvYWRlZCBsb2FkZXJzIGNwYXRoIGNvbmZpZyBwYXRoIHNlZWFsbCBzdHJpbmcgc3ViIHVwcGVyIGxlbiBnZmluZCByZXAgZmluZCBtYXRjaCBjaGFyIGR1bXAgZ21hdGNoIHJldmVyc2UgYnl0ZSBmb3JtYXQgZ3N1YiBsb3dlciB0YWJsZSBzZXRuIGluc2VydCBnZXRuIGZvcmVhY2hpIG1heG4gZm9yZWFjaCBjb25jYXQgc29ydCByZW1vdmUiCn0sY29udGFpbnM6by5jb25jYXQoW3tjbGFzc05hbWU6ImZ1bmN0aW9uIixiZWdpbktleXdvcmRzOiJmdW5jdGlvbiIsZW5kOiJcXCkiLApjb250YWluczpbZS5pbmhlcml0KGUuVElUTEVfTU9ERSx7CmJlZ2luOiIoW19hLXpBLVpdXFx3KlxcLikqKFtfYS16QS1aXVxcdyo6KT9bX2EtekEtWl1cXHcqIn0pLHtjbGFzc05hbWU6InBhcmFtcyIsCmJlZ2luOiJcXCgiLGVuZHNXaXRoUGFyZW50OiEwLGNvbnRhaW5zOm99XS5jb25jYXQobykKfSxlLkNfTlVNQkVSX01PREUsZS5BUE9TX1NUUklOR19NT0RFLGUuUVVPVEVfU1RSSU5HX01PREUse2NsYXNzTmFtZToic3RyaW5nIiwKYmVnaW46dCxlbmQ6YSxjb250YWluczpbbl0scmVsZXZhbmNlOjV9XSl9fX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoIm1ha2VmaWxlIiwoKCk9PnsidXNlIHN0cmljdCI7cmV0dXJuIGU9Pntjb25zdCBpPXsKY2xhc3NOYW1lOiJ2YXJpYWJsZSIsdmFyaWFudHM6W3tiZWdpbjoiXFwkXFwoIitlLlVOREVSU0NPUkVfSURFTlRfUkUrIlxcKSIsCmNvbnRhaW5zOltlLkJBQ0tTTEFTSF9FU0NBUEVdfSx7YmVnaW46L1wkW0AlPD9cXlwrXCpdL31dfSxhPXtjbGFzc05hbWU6InN0cmluZyIsCmJlZ2luOi8iLyxlbmQ6LyIvLGNvbnRhaW5zOltlLkJBQ0tTTEFTSF9FU0NBUEUsaV19LG49e2NsYXNzTmFtZToidmFyaWFibGUiLApiZWdpbjovXCRcKFtcdy1dK1xzLyxlbmQ6L1wpLyxrZXl3b3Jkczp7CmJ1aWx0X2luOiJzdWJzdCBwYXRzdWJzdCBzdHJpcCBmaW5kc3RyaW5nIGZpbHRlciBmaWx0ZXItb3V0IHNvcnQgd29yZCB3b3JkbGlzdCBmaXJzdHdvcmQgbGFzdHdvcmQgZGlyIG5vdGRpciBzdWZmaXggYmFzZW5hbWUgYWRkc3VmZml4IGFkZHByZWZpeCBqb2luIHdpbGRjYXJkIHJlYWxwYXRoIGFic3BhdGggZXJyb3Igd2FybmluZyBzaGVsbCBvcmlnaW4gZmxhdm9yIGZvcmVhY2ggaWYgb3IgYW5kIGNhbGwgZXZhbCBmaWxlIHZhbHVlIgp9LGNvbnRhaW5zOltpXX0scz17YmVnaW46Il4iK2UuVU5ERVJTQ09SRV9JREVOVF9SRSsiXFxzKig/PVs6Kz9dPz0pIn0scj17CmNsYXNzTmFtZToic2VjdGlvbiIsYmVnaW46L15bXlxzXSs6LyxlbmQ6LyQvLGNvbnRhaW5zOltpXX07cmV0dXJuewpuYW1lOiJNYWtlZmlsZSIsYWxpYXNlczpbIm1rIiwibWFrIiwibWFrZSJdLGtleXdvcmRzOnskcGF0dGVybjovW1x3LV0rLywKa2V5d29yZDoiZGVmaW5lIGVuZGVmIHVuZGVmaW5lIGlmZGVmIGlmbmRlZiBpZmVxIGlmbmVxIGVsc2UgZW5kaWYgaW5jbHVkZSAtaW5jbHVkZSBzaW5jbHVkZSBvdmVycmlkZSBleHBvcnQgdW5leHBvcnQgcHJpdmF0ZSB2cGF0aCIKfSxjb250YWluczpbZS5IQVNIX0NPTU1FTlRfTU9ERSxpLGEsbixzLHtjbGFzc05hbWU6Im1ldGEiLGJlZ2luOi9eXC5QSE9OWTovLAplbmQ6LyQvLGtleXdvcmRzOnskcGF0dGVybjovW1wuXHddKy8sIm1ldGEta2V5d29yZCI6Ii5QSE9OWSJ9fSxyXX19fSkoKSk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgieG1sIiwoKCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShlKXsKcmV0dXJuIGU/InN0cmluZyI9PXR5cGVvZiBlP2U6ZS5zb3VyY2U6bnVsbH1mdW5jdGlvbiBuKGUpe3JldHVybiBhKCIoPz0iLGUsIikiKX0KZnVuY3Rpb24gYSguLi5uKXtyZXR1cm4gbi5tYXAoKG49PmUobikpKS5qb2luKCIiKX1mdW5jdGlvbiBzKC4uLm4pewpyZXR1cm4iKCIrbi5tYXAoKG49PmUobikpKS5qb2luKCJ8IikrIikifXJldHVybiBlPT57CmNvbnN0IHQ9YSgvW0EtWl9dLyxhKCIoIiwvW0EtWjAtOV8uLV0rOi8sIik/IiksL1tBLVowLTlfLi1dKi8pLGk9ewpjbGFzc05hbWU6InN5bWJvbCIsYmVnaW46LyZbYS16XSs7fCYjWzAtOV0rO3wmI3hbYS1mMC05XSs7L30scj17YmVnaW46L1xzLywKY29udGFpbnM6W3tjbGFzc05hbWU6Im1ldGEta2V5d29yZCIsYmVnaW46LyM/W2Etel9dW2EtejEtOV8tXSsvLGlsbGVnYWw6L1xuL31dCn0sYz1lLmluaGVyaXQocix7YmVnaW46L1woLyxlbmQ6L1wpL30pLGw9ZS5pbmhlcml0KGUuQVBPU19TVFJJTkdfTU9ERSx7CmNsYXNzTmFtZToibWV0YS1zdHJpbmcifSksZz1lLmluaGVyaXQoZS5RVU9URV9TVFJJTkdfTU9ERSx7CmNsYXNzTmFtZToibWV0YS1zdHJpbmcifSksbT17ZW5kc1dpdGhQYXJlbnQ6ITAsaWxsZWdhbDovPC8scmVsZXZhbmNlOjAsCmNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJhdHRyIixiZWdpbjovW0EtWmEtejAtOS5fOi1dKy8scmVsZXZhbmNlOjB9LHtiZWdpbjovPVxzKi8sCnJlbGV2YW5jZTowLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJzdHJpbmciLGVuZHNQYXJlbnQ6ITAsdmFyaWFudHM6W3tiZWdpbjovIi8sCmVuZDovIi8sY29udGFpbnM6W2ldfSx7YmVnaW46LycvLGVuZDovJy8sY29udGFpbnM6W2ldfSx7YmVnaW46L1teXHMiJz08PmBdKy99XX1dCn1dfTtyZXR1cm57bmFtZToiSFRNTCwgWE1MIiwKYWxpYXNlczpbImh0bWwiLCJ4aHRtbCIsInJzcyIsImF0b20iLCJ4amIiLCJ4c2QiLCJ4c2wiLCJwbGlzdCIsIndzZiIsInN2ZyJdLApjYXNlX2luc2Vuc2l0aXZlOiEwLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJtZXRhIixiZWdpbjovPCFbYS16XS8sZW5kOi8+LywKcmVsZXZhbmNlOjEwLGNvbnRhaW5zOltyLGcsbCxjLHtiZWdpbjovXFsvLGVuZDovXF0vLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJtZXRhIiwKYmVnaW46LzwhW2Etel0vLGVuZDovPi8sY29udGFpbnM6W3IsYyxnLGxdfV19XX0sZS5DT01NRU5UKC88IS0tLywvLS0+Lyx7CnJlbGV2YW5jZToxMH0pLHtiZWdpbjovPCFcW0NEQVRBXFsvLGVuZDovXF1cXT4vLHJlbGV2YW5jZToxMH0saSx7CmNsYXNzTmFtZToibWV0YSIsYmVnaW46LzxcP3htbC8sZW5kOi9cPz4vLHJlbGV2YW5jZToxMH0se2NsYXNzTmFtZToidGFnIiwKYmVnaW46LzxzdHlsZSg/PVxzfD4pLyxlbmQ6Lz4vLGtleXdvcmRzOntuYW1lOiJzdHlsZSJ9LGNvbnRhaW5zOlttXSxzdGFydHM6ewplbmQ6LzxcL3N0eWxlPi8scmV0dXJuRW5kOiEwLHN1Ykxhbmd1YWdlOlsiY3NzIiwieG1sIl19fSx7Y2xhc3NOYW1lOiJ0YWciLApiZWdpbjovPHNjcmlwdCg/PVxzfD4pLyxlbmQ6Lz4vLGtleXdvcmRzOntuYW1lOiJzY3JpcHQifSxjb250YWluczpbbV0sc3RhcnRzOnsKZW5kOi88XC9zY3JpcHQ+LyxyZXR1cm5FbmQ6ITAsc3ViTGFuZ3VhZ2U6WyJqYXZhc2NyaXB0IiwiaGFuZGxlYmFycyIsInhtbCJdfX0sewpjbGFzc05hbWU6InRhZyIsYmVnaW46Lzw+fDxcLz4vfSx7Y2xhc3NOYW1lOiJ0YWciLApiZWdpbjphKC88LyxuKGEodCxzKC9cLz4vLC8+LywvXHMvKSkpKSxlbmQ6L1wvPz4vLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJuYW1lIiwKYmVnaW46dCxyZWxldmFuY2U6MCxzdGFydHM6bX1dfSx7Y2xhc3NOYW1lOiJ0YWciLGJlZ2luOmEoLzxcLy8sbihhKHQsLz4vKSkpLApjb250YWluczpbe2NsYXNzTmFtZToibmFtZSIsYmVnaW46dCxyZWxldmFuY2U6MH0se2JlZ2luOi8+LyxyZWxldmFuY2U6MH1dfV19fQp9KSgpKTsKaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJtYXJrZG93biIsKCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oLi4ubil7CnJldHVybiBuLm1hcCgobj0+e3JldHVybihlPW4pPyJzdHJpbmciPT10eXBlb2YgZT9lOmUuc291cmNlOm51bGw7dmFyIGUKfSkpLmpvaW4oIiIpfXJldHVybiBlPT57Y29uc3QgYT17YmVnaW46LzxcLz9bQS1aYS16X10vLGVuZDoiPiIsCnN1Ykxhbmd1YWdlOiJ4bWwiLHJlbGV2YW5jZTowfSxpPXt2YXJpYW50czpbe2JlZ2luOi9cWy4rP1xdXFsuKj9cXS8scmVsZXZhbmNlOjAKfSx7YmVnaW46L1xbLis/XF1cKCgoZGF0YXxqYXZhc2NyaXB0fG1haWx0byk6fCg/Omh0dHB8ZnRwKXM/OlwvXC8pLio/XCkvLApyZWxldmFuY2U6Mn0se2JlZ2luOm4oL1xbLis/XF1cKC8sL1tBLVphLXpdW0EtWmEtejAtOSsuLV0qLywvOlwvXC8uKj9cKS8pLApyZWxldmFuY2U6Mn0se2JlZ2luOi9cWy4rP1xdXChbLi8/JiNdLio/XCkvLHJlbGV2YW5jZToxfSx7CmJlZ2luOi9cWy4rP1xdXCguKj9cKS8scmVsZXZhbmNlOjB9XSxyZXR1cm5CZWdpbjohMCxjb250YWluczpbewpjbGFzc05hbWU6InN0cmluZyIscmVsZXZhbmNlOjAsYmVnaW46IlxcWyIsZW5kOiJcXF0iLGV4Y2x1ZGVCZWdpbjohMCwKcmV0dXJuRW5kOiEwfSx7Y2xhc3NOYW1lOiJsaW5rIixyZWxldmFuY2U6MCxiZWdpbjoiXFxdXFwoIixlbmQ6IlxcKSIsCmV4Y2x1ZGVCZWdpbjohMCxleGNsdWRlRW5kOiEwfSx7Y2xhc3NOYW1lOiJzeW1ib2wiLHJlbGV2YW5jZTowLGJlZ2luOiJcXF1cXFsiLAplbmQ6IlxcXSIsZXhjbHVkZUJlZ2luOiEwLGV4Y2x1ZGVFbmQ6ITB9XX0scz17Y2xhc3NOYW1lOiJzdHJvbmciLGNvbnRhaW5zOltdLAp2YXJpYW50czpbe2JlZ2luOi9fezJ9LyxlbmQ6L197Mn0vfSx7YmVnaW46L1wqezJ9LyxlbmQ6L1wqezJ9L31dfSxjPXsKY2xhc3NOYW1lOiJlbXBoYXNpcyIsY29udGFpbnM6W10sdmFyaWFudHM6W3tiZWdpbjovXCooPyFcKikvLGVuZDovXCovfSx7CmJlZ2luOi9fKD8hXykvLGVuZDovXy8scmVsZXZhbmNlOjB9XX07cy5jb250YWlucy5wdXNoKGMpLGMuY29udGFpbnMucHVzaChzKQo7bGV0IHQ9W2EsaV0KO3JldHVybiBzLmNvbnRhaW5zPXMuY29udGFpbnMuY29uY2F0KHQpLGMuY29udGFpbnM9Yy5jb250YWlucy5jb25jYXQodCksCnQ9dC5jb25jYXQocyxjKSx7bmFtZToiTWFya2Rvd24iLGFsaWFzZXM6WyJtZCIsIm1rZG93biIsIm1rZCJdLGNvbnRhaW5zOlt7CmNsYXNzTmFtZToic2VjdGlvbiIsdmFyaWFudHM6W3tiZWdpbjoiXiN7MSw2fSIsZW5kOiIkIixjb250YWluczp0fSx7CmJlZ2luOiIoPz1eLis/XFxuWz0tXXsyLH0kKSIsY29udGFpbnM6W3tiZWdpbjoiXls9LV0qJCJ9LHtiZWdpbjoiXiIsZW5kOiJcXG4iLApjb250YWluczp0fV19XX0sYSx7Y2xhc3NOYW1lOiJidWxsZXQiLGJlZ2luOiJeWyBcdF0qKFsqKy1dfChcXGQrXFwuKSkoPz1cXHMrKSIsCmVuZDoiXFxzKyIsZXhjbHVkZUVuZDohMH0scyxjLHtjbGFzc05hbWU6InF1b3RlIixiZWdpbjoiXj5cXHMrIixjb250YWluczp0LAplbmQ6IiQifSx7Y2xhc3NOYW1lOiJjb2RlIix2YXJpYW50czpbe2JlZ2luOiIoYHszLH0pW15gXSgufFxcbikqP1xcMWAqWyBdKiJ9LHsKYmVnaW46Iih+ezMsfSlbXn5dKC58XFxuKSo/XFwxfipbIF0qIn0se2JlZ2luOiJgYGAiLGVuZDoiYGBgK1sgXSokIn0sewpiZWdpbjoifn5+IixlbmQ6In5+fitbIF0qJCJ9LHtiZWdpbjoiYC4rP2AifSx7YmVnaW46Iig/PV4oIHs0fXxcXHQpKSIsCmNvbnRhaW5zOlt7YmVnaW46Il4oIHs0fXxcXHQpIixlbmQ6IihcXG4pJCJ9XSxyZWxldmFuY2U6MH1dfSx7CmJlZ2luOiJeWy1cXCpdezMsfSIsZW5kOiIkIn0saSx7YmVnaW46L15cW1teXG5dK1xdOi8scmV0dXJuQmVnaW46ITAsY29udGFpbnM6W3sKY2xhc3NOYW1lOiJzeW1ib2wiLGJlZ2luOi9cWy8sZW5kOi9cXS8sZXhjbHVkZUJlZ2luOiEwLGV4Y2x1ZGVFbmQ6ITB9LHsKY2xhc3NOYW1lOiJsaW5rIixiZWdpbjovOlxzKi8sZW5kOi8kLyxleGNsdWRlQmVnaW46ITB9XX1dfX19KSgpKTsKaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJuZ2lueCIsKCgpPT57InVzZSBzdHJpY3QiO3JldHVybiBlPT57Y29uc3Qgbj17CmNsYXNzTmFtZToidmFyaWFibGUiLHZhcmlhbnRzOlt7YmVnaW46L1wkXGQrL30se2JlZ2luOi9cJFx7LyxlbmQ6L1x9L30sewpiZWdpbjovWyRAXS8rZS5VTkRFUlNDT1JFX0lERU5UX1JFfV19LGE9e2VuZHNXaXRoUGFyZW50OiEwLGtleXdvcmRzOnsKJHBhdHRlcm46IlthLXovX10rIiwKbGl0ZXJhbDoib24gb2ZmIHllcyBubyB0cnVlIGZhbHNlIG5vbmUgYmxvY2tlZCBkZWJ1ZyBpbmZvIG5vdGljZSB3YXJuIGVycm9yIGNyaXQgc2VsZWN0IGJyZWFrIGxhc3QgcGVybWFuZW50IHJlZGlyZWN0IGtxdWV1ZSBydHNpZyBlcG9sbCBwb2xsIC9kZXYvcG9sbCIKfSxyZWxldmFuY2U6MCxpbGxlZ2FsOiI9PiIsY29udGFpbnM6W2UuSEFTSF9DT01NRU5UX01PREUse2NsYXNzTmFtZToic3RyaW5nIiwKY29udGFpbnM6W2UuQkFDS1NMQVNIX0VTQ0FQRSxuXSx2YXJpYW50czpbe2JlZ2luOi8iLyxlbmQ6LyIvfSx7YmVnaW46LycvLGVuZDovJy8KfV19LHtiZWdpbjoiKFthLXpdKyk6LyIsZW5kOiJcXHMiLGVuZHNXaXRoUGFyZW50OiEwLGV4Y2x1ZGVFbmQ6ITAsY29udGFpbnM6W25dCn0se2NsYXNzTmFtZToicmVnZXhwIixjb250YWluczpbZS5CQUNLU0xBU0hfRVNDQVBFLG5dLHZhcmlhbnRzOlt7YmVnaW46Ilxcc1xcXiIsCmVuZDoiXFxzfFxce3w7IixyZXR1cm5FbmQ6ITB9LHtiZWdpbjoiflxcKj9cXHMrIixlbmQ6Ilxcc3xcXHt8OyIscmV0dXJuRW5kOiEwfSx7CmJlZ2luOiJcXCooXFwuW2EtelxcLV0rKSsifSx7YmVnaW46IihbYS16XFwtXStcXC4pK1xcKiJ9XX0se2NsYXNzTmFtZToibnVtYmVyIiwKYmVnaW46IlxcYlxcZHsxLDN9XFwuXFxkezEsM31cXC5cXGR7MSwzfVxcLlxcZHsxLDN9KDpcXGR7MSw1fSk/XFxiIn0sewpjbGFzc05hbWU6Im51bWJlciIsYmVnaW46IlxcYlxcZCtba0ttTWdHZHNoZHd5XSpcXGIiLHJlbGV2YW5jZTowfSxuXX07cmV0dXJuewpuYW1lOiJOZ2lueCBjb25maWciLGFsaWFzZXM6WyJuZ2lueGNvbmYiXSxjb250YWluczpbZS5IQVNIX0NPTU1FTlRfTU9ERSx7CmJlZ2luOmUuVU5ERVJTQ09SRV9JREVOVF9SRSsiXFxzK1xceyIscmV0dXJuQmVnaW46ITAsZW5kOi9cey8sY29udGFpbnM6W3sKY2xhc3NOYW1lOiJzZWN0aW9uIixiZWdpbjplLlVOREVSU0NPUkVfSURFTlRfUkV9XSxyZWxldmFuY2U6MH0sewpiZWdpbjplLlVOREVSU0NPUkVfSURFTlRfUkUrIlxccyIsZW5kOiI7fFxceyIscmV0dXJuQmVnaW46ITAsY29udGFpbnM6W3sKY2xhc3NOYW1lOiJhdHRyaWJ1dGUiLGJlZ2luOmUuVU5ERVJTQ09SRV9JREVOVF9SRSxzdGFydHM6YX1dLHJlbGV2YW5jZTowfV0sCmlsbGVnYWw6IlteXFxzXFx9XSJ9fX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoIm9iamVjdGl2ZWMiLCgoKT0+eyJ1c2Ugc3RyaWN0IjtyZXR1cm4gZT0+ewpjb25zdCBuPS9bYS16QS1aQF1bYS16QS1aMC05X10qLyxfPXskcGF0dGVybjpuLAprZXl3b3JkOiJAaW50ZXJmYWNlIEBjbGFzcyBAcHJvdG9jb2wgQGltcGxlbWVudGF0aW9uIn07cmV0dXJuewpuYW1lOiJPYmplY3RpdmUtQyIsYWxpYXNlczpbIm1tIiwib2JqYyIsIm9iai1jIiwib2JqLWMrKyIsIm9iamVjdGl2ZS1jKysiXSwKa2V5d29yZHM6eyRwYXR0ZXJuOm4sCmtleXdvcmQ6ImludCBmbG9hdCB3aGlsZSBjaGFyIGV4cG9ydCBzaXplb2YgdHlwZWRlZiBjb25zdCBzdHJ1Y3QgZm9yIHVuaW9uIHVuc2lnbmVkIGxvbmcgdm9sYXRpbGUgc3RhdGljIGJvb2wgbXV0YWJsZSBpZiBkbyByZXR1cm4gZ290byB2b2lkIGVudW0gZWxzZSBicmVhayBleHRlcm4gYXNtIGNhc2Ugc2hvcnQgZGVmYXVsdCBkb3VibGUgcmVnaXN0ZXIgZXhwbGljaXQgc2lnbmVkIHR5cGVuYW1lIHRoaXMgc3dpdGNoIGNvbnRpbnVlIHdjaGFyX3QgaW5saW5lIHJlYWRvbmx5IGFzc2lnbiByZWFkd3JpdGUgc2VsZiBAc3luY2hyb25pemVkIGlkIHR5cGVvZiBub25hdG9taWMgc3VwZXIgdW5pY2hhciBJQk91dGxldCBJQkFjdGlvbiBzdHJvbmcgd2VhayBjb3B5IGluIG91dCBpbm91dCBieWNvcHkgYnlyZWYgb25ld2F5IF9fc3Ryb25nIF9fd2VhayBfX2Jsb2NrIF9fYXV0b3JlbGVhc2luZyBAcHJpdmF0ZSBAcHJvdGVjdGVkIEBwdWJsaWMgQHRyeSBAcHJvcGVydHkgQGVuZCBAdGhyb3cgQGNhdGNoIEBmaW5hbGx5IEBhdXRvcmVsZWFzZXBvb2wgQHN5bnRoZXNpemUgQGR5bmFtaWMgQHNlbGVjdG9yIEBvcHRpb25hbCBAcmVxdWlyZWQgQGVuY29kZSBAcGFja2FnZSBAaW1wb3J0IEBkZWZzIEBjb21wYXRpYmlsaXR5X2FsaWFzIF9fYnJpZGdlIF9fYnJpZGdlX3RyYW5zZmVyIF9fYnJpZGdlX3JldGFpbmVkIF9fYnJpZGdlX3JldGFpbiBfX2NvdmFyaWFudCBfX2NvbnRyYXZhcmlhbnQgX19raW5kb2YgX05vbm51bGwgX051bGxhYmxlIF9OdWxsX3Vuc3BlY2lmaWVkIF9fRlVOQ1RJT05fXyBfX1BSRVRUWV9GVU5DVElPTl9fIF9fYXR0cmlidXRlX18gZ2V0dGVyIHNldHRlciByZXRhaW4gdW5zYWZlX3VucmV0YWluZWQgbm9ubnVsbCBudWxsYWJsZSBudWxsX3Vuc3BlY2lmaWVkIG51bGxfcmVzZXR0YWJsZSBjbGFzcyBpbnN0YW5jZXR5cGUgTlNfREVTSUdOQVRFRF9JTklUSUFMSVpFUiBOU19VTkFWQUlMQUJMRSBOU19SRVFVSVJFU19TVVBFUiBOU19SRVRVUk5TX0lOTkVSX1BPSU5URVIgTlNfSU5MSU5FIE5TX0FWQUlMQUJMRSBOU19ERVBSRUNBVEVEIE5TX0VOVU0gTlNfT1BUSU9OUyBOU19TV0lGVF9VTkFWQUlMQUJMRSBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTiBOU19BU1NVTUVfTk9OTlVMTF9FTkQgTlNfUkVGSU5FRF9GT1JfU1dJRlQgTlNfU1dJRlRfTkFNRSBOU19TV0lGVF9OT1RIUk9XIE5TX0RVUklORyBOU19IQU5ETEVSIE5TX0VOREhBTkRMRVIgTlNfVkFMVUVSRVRVUk4gTlNfVk9JRFJFVFVSTiIsCmxpdGVyYWw6ImZhbHNlIHRydWUgRkFMU0UgVFJVRSBuaWwgWUVTIE5PIE5VTEwiLApidWlsdF9pbjoiQk9PTCBkaXNwYXRjaF9vbmNlX3QgZGlzcGF0Y2hfcXVldWVfdCBkaXNwYXRjaF9zeW5jIGRpc3BhdGNoX2FzeW5jIGRpc3BhdGNoX29uY2UiCn0saWxsZWdhbDoiPC8iLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJidWlsdF9pbiIsCmJlZ2luOiJcXGIoQVZ8Q0F8Q0Z8Q0d8Q0l8Q0x8Q018Q058Q1R8TUt8TVB8TVRLfE1UTHxOU3xTQ058U0t8VUl8V0t8WEMpXFx3KyIKfSxlLkNfTElORV9DT01NRU5UX01PREUsZS5DX0JMT0NLX0NPTU1FTlRfTU9ERSxlLkNfTlVNQkVSX01PREUsZS5RVU9URV9TVFJJTkdfTU9ERSxlLkFQT1NfU1RSSU5HX01PREUsewpjbGFzc05hbWU6InN0cmluZyIsdmFyaWFudHM6W3tiZWdpbjonQCInLGVuZDonIicsaWxsZWdhbDoiXFxuIiwKY29udGFpbnM6W2UuQkFDS1NMQVNIX0VTQ0FQRV19XX0se2NsYXNzTmFtZToibWV0YSIsYmVnaW46LyNccypbYS16XStcYi8sZW5kOi8kLywKa2V5d29yZHM6ewoibWV0YS1rZXl3b3JkIjoiaWYgZWxzZSBlbGlmIGVuZGlmIGRlZmluZSB1bmRlZiB3YXJuaW5nIGVycm9yIGxpbmUgcHJhZ21hIGlmZGVmIGlmbmRlZiBpbmNsdWRlIgp9LGNvbnRhaW5zOlt7YmVnaW46L1xcXG4vLHJlbGV2YW5jZTowfSxlLmluaGVyaXQoZS5RVU9URV9TVFJJTkdfTU9ERSx7CmNsYXNzTmFtZToibWV0YS1zdHJpbmcifSkse2NsYXNzTmFtZToibWV0YS1zdHJpbmciLGJlZ2luOi88Lio/Pi8sZW5kOi8kLywKaWxsZWdhbDoiXFxuIn0sZS5DX0xJTkVfQ09NTUVOVF9NT0RFLGUuQ19CTE9DS19DT01NRU5UX01PREVdfSx7CmNsYXNzTmFtZToiY2xhc3MiLGJlZ2luOiIoIitfLmtleXdvcmQuc3BsaXQoIiAiKS5qb2luKCJ8IikrIilcXGIiLGVuZDovKFx7fCQpLywKZXhjbHVkZUVuZDohMCxrZXl3b3JkczpfLGNvbnRhaW5zOltlLlVOREVSU0NPUkVfVElUTEVfTU9ERV19LHsKYmVnaW46IlxcLiIrZS5VTkRFUlNDT1JFX0lERU5UX1JFLHJlbGV2YW5jZTowfV19fX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInBlcmwiLCgoKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKC4uLmUpewpyZXR1cm4gZS5tYXAoKGU9PntyZXR1cm4obj1lKT8ic3RyaW5nIj09dHlwZW9mIG4/bjpuLnNvdXJjZTpudWxsO3ZhciBuCn0pKS5qb2luKCIiKX1yZXR1cm4gbj0+e2NvbnN0IHQ9L1tkdWFseG1zaXBuXXswLDEyfS8scz17JHBhdHRlcm46L1tcdy5dKy8sCmtleXdvcmQ6ImdldHB3ZW50IGdldHNlcnZlbnQgcXVvdGVtZXRhIG1zZ3JjdiBzY2FsYXIga2lsbCBkYm1jbG9zZSB1bmRlZiBsYyBtYSBzeXN3cml0ZSB0ciBzZW5kIHVtYXNrIHN5c29wZW4gc2htd3JpdGUgdmVjIHF4IHV0aW1lIGxvY2FsIG9jdCBzZW1jdGwgbG9jYWx0aW1lIHJlYWRwaXBlIGRvIHJldHVybiBmb3JtYXQgcmVhZCBzcHJpbnRmIGRibW9wZW4gcG9wIGdldHBncnAgbm90IGdldHB3bmFtIHJld2luZGRpciBxcSBmaWxlbm8gcXcgZW5kcHJvdG9lbnQgd2FpdCBzZXRob3N0ZW50IGJsZXNzIHN8MCBvcGVuZGlyIGNvbnRpbnVlIGVhY2ggc2xlZXAgZW5kZ3JlbnQgc2h1dGRvd24gZHVtcCBjaG9tcCBjb25uZWN0IGdldHNvY2tuYW1lIGRpZSBzb2NrZXRwYWlyIGNsb3NlIGZsb2NrIGV4aXN0cyBpbmRleCBzaG1nZXQgc3ViIGZvciBlbmRwd2VudCByZWRvIGxzdGF0IG1zZ2N0bCBzZXRwZ3JwIGFicyBleGl0IHNlbGVjdCBwcmludCByZWYgZ2V0aG9zdGJ5YWRkciB1bnNoaWZ0IGZjbnRsIHN5c2NhbGwgZ290byBnZXRuZXRieWFkZHIgam9pbiBnbXRpbWUgc3ltbGluayBzZW1nZXQgc3BsaWNlIHh8MCBnZXRwZWVybmFtZSByZWN2IGxvZyBzZXRzb2Nrb3B0IGNvcyBsYXN0IHJldmVyc2UgZ2V0aG9zdGJ5bmFtZSBnZXRncm5hbSBzdHVkeSBmb3JtbGluZSBlbmRob3N0ZW50IHRpbWVzIGNob3AgbGVuZ3RoIGdldGhvc3RlbnQgZ2V0bmV0ZW50IHBhY2sgZ2V0cHJvdG9lbnQgZ2V0c2VydmJ5bmFtZSByYW5kIG1rZGlyIHBvcyBjaG1vZCB5fDAgc3Vic3RyIGVuZG5ldGVudCBwcmludGYgbmV4dCBvcGVuIG1zZ3NuZCByZWFkZGlyIHVzZSB1bmxpbmsgZ2V0c29ja29wdCBnZXRwcmlvcml0eSByaW5kZXggd2FudGFycmF5IGhleCBzeXN0ZW0gZ2V0c2VydmJ5cG9ydCBlbmRzZXJ2ZW50IGludCBjaHIgdW50aWUgcm1kaXIgcHJvdG90eXBlIHRlbGwgbGlzdGVuIGZvcmsgc2htcmVhZCB1Y2ZpcnN0IHNldHByb3RvZW50IGVsc2Ugc3lzc2VlayBsaW5rIGdldGdyZ2lkIHNobWN0bCB3YWl0cGlkIHVucGFjayBnZXRuZXRieW5hbWUgcmVzZXQgY2hkaXIgZ3JlcCBzcGxpdCByZXF1aXJlIGNhbGxlciBsY2ZpcnN0IHVudGlsIHdhcm4gd2hpbGUgdmFsdWVzIHNoaWZ0IHRlbGxkaXIgZ2V0cHd1aWQgbXkgZ2V0cHJvdG9ieW51bWJlciBkZWxldGUgYW5kIHNvcnQgdWMgZGVmaW5lZCBzcmFuZCBhY2NlcHQgcGFja2FnZSBzZWVrZGlyIGdldHByb3RvYnluYW1lIHNlbW9wIG91ciByZW5hbWUgc2VlayBpZiBxfDAgY2hyb290IHN5c3JlYWQgc2V0cHdlbnQgbm8gY3J5cHQgZ2V0YyBjaG93biBzcXJ0IHdyaXRlIHNldG5ldGVudCBzZXRwcmlvcml0eSBmb3JlYWNoIHRpZSBzaW4gbXNnZ2V0IG1hcCBzdGF0IGdldGxvZ2luIHVubGVzcyBlbHNpZiB0cnVuY2F0ZSBleGVjIGtleXMgZ2xvYiB0aWVkIGNsb3NlZGlyIGlvY3RsIHNvY2tldCByZWFkbGluayBldmFsIHhvciByZWFkbGluZSBiaW5tb2RlIHNldHNlcnZlbnQgZW9mIG9yZCBiaW5kIGFsYXJtIHBpcGUgYXRhbjIgZ2V0Z3JlbnQgZXhwIHRpbWUgcHVzaCBzZXRncmVudCBndCBsdCBvciBuZSBtfDAgYnJlYWsgZ2l2ZW4gc2F5IHN0YXRlIHdoZW4iCn0scj17Y2xhc3NOYW1lOiJzdWJzdCIsYmVnaW46IlskQF1cXHsiLGVuZDoiXFx9IixrZXl3b3JkczpzfSxpPXtiZWdpbjovLT5cey8sCmVuZDovXH0vfSxhPXt2YXJpYW50czpbe2JlZ2luOi9cJFxkL30sewpiZWdpbjplKC9bJCVAXShcXlx3XGJ8I1x3Kyg6Olx3KykqfFx7XHcrXH18XHcrKDo6XHcqKSopLywiKD8hW0EtWmEtel0pKD8hW0AkJV0pIikKfSx7YmVnaW46L1skJUBdW15cc1x3e10vLHJlbGV2YW5jZTowfV0KfSxvPVtuLkJBQ0tTTEFTSF9FU0NBUEUscixhXSxjPVthLG4uSEFTSF9DT01NRU5UX01PREUsbi5DT01NRU5UKC9ePVx3LywvPWN1dC8sewplbmRzV2l0aFBhcmVudDohMH0pLGkse2NsYXNzTmFtZToic3RyaW5nIixjb250YWluczpvLHZhcmlhbnRzOlt7CmJlZ2luOiJxW3F3eHJdP1xccypcXCgiLGVuZDoiXFwpIixyZWxldmFuY2U6NX0se2JlZ2luOiJxW3F3eHJdP1xccypcXFsiLAplbmQ6IlxcXSIscmVsZXZhbmNlOjV9LHtiZWdpbjoicVtxd3hyXT9cXHMqXFx7IixlbmQ6IlxcfSIscmVsZXZhbmNlOjV9LHsKYmVnaW46InFbcXd4cl0/XFxzKlxcfCIsZW5kOiJcXHwiLHJlbGV2YW5jZTo1fSx7YmVnaW46InFbcXd4cl0/XFxzKjwiLGVuZDoiPiIsCnJlbGV2YW5jZTo1fSx7YmVnaW46InF3XFxzK3EiLGVuZDoicSIscmVsZXZhbmNlOjV9LHtiZWdpbjoiJyIsZW5kOiInIiwKY29udGFpbnM6W24uQkFDS1NMQVNIX0VTQ0FQRV19LHtiZWdpbjonIicsZW5kOiciJ30se2JlZ2luOiJgIixlbmQ6ImAiLApjb250YWluczpbbi5CQUNLU0xBU0hfRVNDQVBFXX0se2JlZ2luOi9ce1x3K1x9Lyxjb250YWluczpbXSxyZWxldmFuY2U6MH0sewpiZWdpbjoiLT9cXHcrXFxzKj0+Iixjb250YWluczpbXSxyZWxldmFuY2U6MH1dfSx7Y2xhc3NOYW1lOiJudW1iZXIiLApiZWdpbjoiKFxcYjBbMC03X10rKXwoXFxiMHhbMC05YS1mQS1GX10rKXwoXFxiWzEtOV1bMC05X10qKFxcLlswLTlfXSspPyl8WzBfXVxcYiIsCnJlbGV2YW5jZTowfSx7CmJlZ2luOiIoXFwvXFwvfCIrbi5SRV9TVEFSVEVSU19SRSsifFxcYihzcGxpdHxyZXR1cm58cHJpbnR8cmV2ZXJzZXxncmVwKVxcYilcXHMqIiwKa2V5d29yZHM6InNwbGl0IHJldHVybiBwcmludCByZXZlcnNlIGdyZXAiLHJlbGV2YW5jZTowLApjb250YWluczpbbi5IQVNIX0NPTU1FTlRfTU9ERSx7Y2xhc3NOYW1lOiJyZWdleHAiLApiZWdpbjplKC8oc3x0cnx5KS8sL1wvLywvKFxcLnxbXlxcXC9dKSovLC9cLy8sLyhcXC58W15cXFwvXSkqLywvXC8vLHQpLApyZWxldmFuY2U6MTB9LHtjbGFzc05hbWU6InJlZ2V4cCIsYmVnaW46LyhtfHFyKT9cLy8sZW5kOmUoL1wvLyx0KSwKY29udGFpbnM6W24uQkFDS1NMQVNIX0VTQ0FQRV0scmVsZXZhbmNlOjB9XX0se2NsYXNzTmFtZToiZnVuY3Rpb24iLApiZWdpbktleXdvcmRzOiJzdWIiLGVuZDoiKFxccypcXCguKj9cXCkpP1s7e10iLGV4Y2x1ZGVFbmQ6ITAscmVsZXZhbmNlOjUsCmNvbnRhaW5zOltuLlRJVExFX01PREVdfSx7YmVnaW46Ii1cXHdcXGIiLHJlbGV2YW5jZTowfSx7YmVnaW46Il5fX0RBVEFfXyQiLAplbmQ6Il5fX0VORF9fJCIsc3ViTGFuZ3VhZ2U6Im1vam9saWNpb3VzIixjb250YWluczpbe2JlZ2luOiJeQEAuKiIsZW5kOiIkIiwKY2xhc3NOYW1lOiJjb21tZW50In1dfV07cmV0dXJuIHIuY29udGFpbnM9YyxpLmNvbnRhaW5zPWMse25hbWU6IlBlcmwiLAphbGlhc2VzOlsicGwiLCJwbSJdLGtleXdvcmRzOnMsY29udGFpbnM6Y319fSkoKSk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgicGhwIiwoKCk9PnsidXNlIHN0cmljdCI7cmV0dXJuIGU9Pntjb25zdCByPXsKY2xhc3NOYW1lOiJ2YXJpYWJsZSIsCmJlZ2luOiJcXCQrW2EtekEtWl9ceDdmLVx4ZmZdW2EtekEtWjAtOV9ceDdmLVx4ZmZdKig/IVtBLVphLXowLTldKSg/IVskXSkifSx0PXsKY2xhc3NOYW1lOiJtZXRhIix2YXJpYW50czpbe2JlZ2luOi88XD9waHAvLHJlbGV2YW5jZToxMH0se2JlZ2luOi88XD9bPV0/L30sewpiZWdpbjovXD8+L31dfSxhPXtjbGFzc05hbWU6InN1YnN0Iix2YXJpYW50czpbe2JlZ2luOi9cJFx3Ky99LHtiZWdpbjovXHtcJC8sCmVuZDovXH0vfV19LG49ZS5pbmhlcml0KGUuQVBPU19TVFJJTkdfTU9ERSx7aWxsZWdhbDpudWxsCn0pLGk9ZS5pbmhlcml0KGUuUVVPVEVfU1RSSU5HX01PREUse2lsbGVnYWw6bnVsbCwKY29udGFpbnM6ZS5RVU9URV9TVFJJTkdfTU9ERS5jb250YWlucy5jb25jYXQoYSl9KSxvPWUuRU5EX1NBTUVfQVNfQkVHSU4oewpiZWdpbjovPDw8WyBcdF0qKFx3Kylcbi8sZW5kOi9bIFx0XSooXHcrKVxiLywKY29udGFpbnM6ZS5RVU9URV9TVFJJTkdfTU9ERS5jb250YWlucy5jb25jYXQoYSl9KSxsPXtjbGFzc05hbWU6InN0cmluZyIsCmNvbnRhaW5zOltlLkJBQ0tTTEFTSF9FU0NBUEUsdF0sdmFyaWFudHM6W2UuaW5oZXJpdChuLHtiZWdpbjoiYiciLGVuZDoiJyIKfSksZS5pbmhlcml0KGkse2JlZ2luOidiIicsZW5kOiciJ30pLGksbixvXX0sYz17CnZhcmlhbnRzOltlLkJJTkFSWV9OVU1CRVJfTU9ERSxlLkNfTlVNQkVSX01PREVdfSxzPXsKa2V5d29yZDoiX19DTEFTU19fIF9fRElSX18gX19GSUxFX18gX19GVU5DVElPTl9fIF9fTElORV9fIF9fTUVUSE9EX18gX19OQU1FU1BBQ0VfXyBfX1RSQUlUX18gZGllIGVjaG8gZXhpdCBpbmNsdWRlIGluY2x1ZGVfb25jZSBwcmludCByZXF1aXJlIHJlcXVpcmVfb25jZSBhcnJheSBhYnN0cmFjdCBhbmQgYXMgYmluYXJ5IGJvb2wgYm9vbGVhbiBicmVhayBjYWxsYWJsZSBjYXNlIGNhdGNoIGNsYXNzIGNsb25lIGNvbnN0IGNvbnRpbnVlIGRlY2xhcmUgZGVmYXVsdCBkbyBkb3VibGUgZWxzZSBlbHNlaWYgZW1wdHkgZW5kZGVjbGFyZSBlbmRmb3IgZW5kZm9yZWFjaCBlbmRpZiBlbmRzd2l0Y2ggZW5kd2hpbGUgZXZhbCBleHRlbmRzIGZpbmFsIGZpbmFsbHkgZmxvYXQgZm9yIGZvcmVhY2ggZnJvbSBnbG9iYWwgZ290byBpZiBpbXBsZW1lbnRzIGluc3RhbmNlb2YgaW5zdGVhZG9mIGludCBpbnRlZ2VyIGludGVyZmFjZSBpc3NldCBpdGVyYWJsZSBsaXN0IG1hdGNofDAgbmV3IG9iamVjdCBvciBwcml2YXRlIHByb3RlY3RlZCBwdWJsaWMgcmVhbCByZXR1cm4gc3RyaW5nIHN3aXRjaCB0aHJvdyB0cmFpdCB0cnkgdW5zZXQgdXNlIHZhciB2b2lkIHdoaWxlIHhvciB5aWVsZCIsCmxpdGVyYWw6ImZhbHNlIG51bGwgdHJ1ZSIsCmJ1aWx0X2luOiJFcnJvcnwwIEFwcGVuZEl0ZXJhdG9yIEFyZ3VtZW50Q291bnRFcnJvciBBcml0aG1ldGljRXJyb3IgQXJyYXlJdGVyYXRvciBBcnJheU9iamVjdCBBc3NlcnRpb25FcnJvciBCYWRGdW5jdGlvbkNhbGxFeGNlcHRpb24gQmFkTWV0aG9kQ2FsbEV4Y2VwdGlvbiBDYWNoaW5nSXRlcmF0b3IgQ2FsbGJhY2tGaWx0ZXJJdGVyYXRvciBDb21waWxlRXJyb3IgQ291bnRhYmxlIERpcmVjdG9yeUl0ZXJhdG9yIERpdmlzaW9uQnlaZXJvRXJyb3IgRG9tYWluRXhjZXB0aW9uIEVtcHR5SXRlcmF0b3IgRXJyb3JFeGNlcHRpb24gRXhjZXB0aW9uIEZpbGVzeXN0ZW1JdGVyYXRvciBGaWx0ZXJJdGVyYXRvciBHbG9iSXRlcmF0b3IgSW5maW5pdGVJdGVyYXRvciBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gSXRlcmF0b3JJdGVyYXRvciBMZW5ndGhFeGNlcHRpb24gTGltaXRJdGVyYXRvciBMb2dpY0V4Y2VwdGlvbiBNdWx0aXBsZUl0ZXJhdG9yIE5vUmV3aW5kSXRlcmF0b3IgT3V0T2ZCb3VuZHNFeGNlcHRpb24gT3V0T2ZSYW5nZUV4Y2VwdGlvbiBPdXRlckl0ZXJhdG9yIE92ZXJmbG93RXhjZXB0aW9uIFBhcmVudEl0ZXJhdG9yIFBhcnNlRXJyb3IgUmFuZ2VFeGNlcHRpb24gUmVjdXJzaXZlQXJyYXlJdGVyYXRvciBSZWN1cnNpdmVDYWNoaW5nSXRlcmF0b3IgUmVjdXJzaXZlQ2FsbGJhY2tGaWx0ZXJJdGVyYXRvciBSZWN1cnNpdmVEaXJlY3RvcnlJdGVyYXRvciBSZWN1cnNpdmVGaWx0ZXJJdGVyYXRvciBSZWN1cnNpdmVJdGVyYXRvciBSZWN1cnNpdmVJdGVyYXRvckl0ZXJhdG9yIFJlY3Vyc2l2ZVJlZ2V4SXRlcmF0b3IgUmVjdXJzaXZlVHJlZUl0ZXJhdG9yIFJlZ2V4SXRlcmF0b3IgUnVudGltZUV4Y2VwdGlvbiBTZWVrYWJsZUl0ZXJhdG9yIFNwbERvdWJseUxpbmtlZExpc3QgU3BsRmlsZUluZm8gU3BsRmlsZU9iamVjdCBTcGxGaXhlZEFycmF5IFNwbEhlYXAgU3BsTWF4SGVhcCBTcGxNaW5IZWFwIFNwbE9iamVjdFN0b3JhZ2UgU3BsT2JzZXJ2ZXIgU3BsT2JzZXJ2ZXIgU3BsUHJpb3JpdHlRdWV1ZSBTcGxRdWV1ZSBTcGxTdGFjayBTcGxTdWJqZWN0IFNwbFN1YmplY3QgU3BsVGVtcEZpbGVPYmplY3QgVHlwZUVycm9yIFVuZGVyZmxvd0V4Y2VwdGlvbiBVbmV4cGVjdGVkVmFsdWVFeGNlcHRpb24gQXJyYXlBY2Nlc3MgQ2xvc3VyZSBHZW5lcmF0b3IgSXRlcmF0b3IgSXRlcmF0b3JBZ2dyZWdhdGUgU2VyaWFsaXphYmxlIFRocm93YWJsZSBUcmF2ZXJzYWJsZSBXZWFrUmVmZXJlbmNlIERpcmVjdG9yeSBfX1BIUF9JbmNvbXBsZXRlX0NsYXNzIHBhcmVudCBwaHBfdXNlcl9maWx0ZXIgc2VsZiBzdGF0aWMgc3RkQ2xhc3MiCn07cmV0dXJue2FsaWFzZXM6WyJwaHAiLCJwaHAzIiwicGhwNCIsInBocDUiLCJwaHA2IiwicGhwNyIsInBocDgiXSwKY2FzZV9pbnNlbnNpdGl2ZTohMCxrZXl3b3JkczpzLApjb250YWluczpbZS5IQVNIX0NPTU1FTlRfTU9ERSxlLkNPTU1FTlQoIi8vIiwiJCIse2NvbnRhaW5zOlt0XQp9KSxlLkNPTU1FTlQoIi9cXCoiLCJcXCovIix7Y29udGFpbnM6W3tjbGFzc05hbWU6ImRvY3RhZyIsYmVnaW46IkBbQS1aYS16XSsifV0KfSksZS5DT01NRU5UKCJfX2hhbHRfY29tcGlsZXIuKz87IiwhMSx7ZW5kc1dpdGhQYXJlbnQ6ITAsCmtleXdvcmRzOiJfX2hhbHRfY29tcGlsZXIifSksdCx7Y2xhc3NOYW1lOiJrZXl3b3JkIixiZWdpbjovXCR0aGlzXGIvfSxyLHsKYmVnaW46Lyg6OnwtPikrW2EtekEtWl9ceDdmLVx4ZmZdW2EtekEtWjAtOV9ceDdmLVx4ZmZdKi99LHtjbGFzc05hbWU6ImZ1bmN0aW9uIiwKcmVsZXZhbmNlOjAsYmVnaW5LZXl3b3JkczoiZm4gZnVuY3Rpb24iLGVuZDovWzt7XS8sZXhjbHVkZUVuZDohMCwKaWxsZWdhbDoiWyQlXFxbXSIsY29udGFpbnM6W2UuVU5ERVJTQ09SRV9USVRMRV9NT0RFLHtiZWdpbjoiPT4ifSx7CmNsYXNzTmFtZToicGFyYW1zIixiZWdpbjoiXFwoIixlbmQ6IlxcKSIsZXhjbHVkZUJlZ2luOiEwLGV4Y2x1ZGVFbmQ6ITAsCmtleXdvcmRzOnMsY29udGFpbnM6WyJzZWxmIixyLGUuQ19CTE9DS19DT01NRU5UX01PREUsbCxjXX1dfSx7Y2xhc3NOYW1lOiJjbGFzcyIsCmJlZ2luS2V5d29yZHM6ImNsYXNzIGludGVyZmFjZSIscmVsZXZhbmNlOjAsZW5kOi9cey8sZXhjbHVkZUVuZDohMCwKaWxsZWdhbDovWzooJCJdLyxjb250YWluczpbe2JlZ2luS2V5d29yZHM6ImV4dGVuZHMgaW1wbGVtZW50cyIKfSxlLlVOREVSU0NPUkVfVElUTEVfTU9ERV19LHtiZWdpbktleXdvcmRzOiJuYW1lc3BhY2UiLHJlbGV2YW5jZTowLGVuZDoiOyIsCmlsbGVnYWw6L1suJ10vLGNvbnRhaW5zOltlLlVOREVSU0NPUkVfVElUTEVfTU9ERV19LHtiZWdpbktleXdvcmRzOiJ1c2UiLApyZWxldmFuY2U6MCxlbmQ6IjsiLGNvbnRhaW5zOltlLlVOREVSU0NPUkVfVElUTEVfTU9ERV19LGwsY119fX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInBocC10ZW1wbGF0ZSIsKCgpPT57InVzZSBzdHJpY3QiO3JldHVybiBuPT4oewpuYW1lOiJQSFAgdGVtcGxhdGUiLHN1Ykxhbmd1YWdlOiJ4bWwiLGNvbnRhaW5zOlt7YmVnaW46LzxcPyhwaHB8PSk/LyxlbmQ6L1w/Pi8sCnN1Ykxhbmd1YWdlOiJwaHAiLGNvbnRhaW5zOlt7YmVnaW46Ii9cXCoiLGVuZDoiXFwqLyIsc2tpcDohMH0se2JlZ2luOidiIicsCmVuZDonIicsc2tpcDohMH0se2JlZ2luOiJiJyIsZW5kOiInIixza2lwOiEwfSxuLmluaGVyaXQobi5BUE9TX1NUUklOR19NT0RFLHsKaWxsZWdhbDpudWxsLGNsYXNzTmFtZTpudWxsLGNvbnRhaW5zOm51bGwsc2tpcDohMAp9KSxuLmluaGVyaXQobi5RVU9URV9TVFJJTkdfTU9ERSx7aWxsZWdhbDpudWxsLGNsYXNzTmFtZTpudWxsLGNvbnRhaW5zOm51bGwsCnNraXA6ITB9KV19XX0pfSkoKSk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgicGxhaW50ZXh0IiwoKCk9PnsidXNlIHN0cmljdCI7cmV0dXJuIHQ9Pih7Cm5hbWU6IlBsYWluIHRleHQiLGFsaWFzZXM6WyJ0ZXh0IiwidHh0Il0sZGlzYWJsZUF1dG9kZXRlY3Q6ITB9KX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInByb3BlcnRpZXMiLCgoKT0+eyJ1c2Ugc3RyaWN0IjtyZXR1cm4gZT0+ewp2YXIgbj0iWyBcXHRcXGZdKiIsYT1uKyJbOj1dIituLHQ9IigiK2ErInxbIFxcdFxcZl0rKSIscj0iKFteXFxcXFxcVzo9IFxcdFxcZlxcbl18XFxcXC4pKyIscz0iKFteXFxcXDo9IFxcdFxcZlxcbl18XFxcXC4pKyIsaT17CmVuZDp0LHJlbGV2YW5jZTowLHN0YXJ0czp7Y2xhc3NOYW1lOiJzdHJpbmciLGVuZDovJC8scmVsZXZhbmNlOjAsY29udGFpbnM6W3sKYmVnaW46IlxcXFxcXFxcIn0se2JlZ2luOiJcXFxcXFxuIn1dfX07cmV0dXJue25hbWU6Ii5wcm9wZXJ0aWVzIiwKY2FzZV9pbnNlbnNpdGl2ZTohMCxpbGxlZ2FsOi9cUy8sY29udGFpbnM6W2UuQ09NTUVOVCgiXlxccypbISNdIiwiJCIpLHsKcmV0dXJuQmVnaW46ITAsdmFyaWFudHM6W3tiZWdpbjpyK2EscmVsZXZhbmNlOjF9LHtiZWdpbjpyKyJbIFxcdFxcZl0rIiwKcmVsZXZhbmNlOjB9XSxjb250YWluczpbe2NsYXNzTmFtZToiYXR0ciIsYmVnaW46cixlbmRzUGFyZW50OiEwLHJlbGV2YW5jZTowfV0sCnN0YXJ0czppfSx7YmVnaW46cyt0LHJldHVybkJlZ2luOiEwLHJlbGV2YW5jZTowLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJtZXRhIiwKYmVnaW46cyxlbmRzUGFyZW50OiEwLHJlbGV2YW5jZTowfV0sc3RhcnRzOml9LHtjbGFzc05hbWU6ImF0dHIiLHJlbGV2YW5jZTowLApiZWdpbjpzK24rIiQifV19fX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInB5dGhvbiIsKCgpPT57InVzZSBzdHJpY3QiO3JldHVybiBlPT57Y29uc3Qgbj17CmtleXdvcmQ6ImFuZCBhcyBhc3NlcnQgYXN5bmMgYXdhaXQgYnJlYWsgY2xhc3MgY29udGludWUgZGVmIGRlbCBlbGlmIGVsc2UgZXhjZXB0IGZpbmFsbHkgZm9yICBmcm9tIGdsb2JhbCBpZiBpbXBvcnQgaW4gaXMgbGFtYmRhIG5vbmxvY2FsfDEwIG5vdCBvciBwYXNzIHJhaXNlIHJldHVybiB0cnkgd2hpbGUgd2l0aCB5aWVsZCIsCmJ1aWx0X2luOiJfX2ltcG9ydF9fIGFicyBhbGwgYW55IGFzY2lpIGJpbiBib29sIGJyZWFrcG9pbnQgYnl0ZWFycmF5IGJ5dGVzIGNhbGxhYmxlIGNociBjbGFzc21ldGhvZCBjb21waWxlIGNvbXBsZXggZGVsYXR0ciBkaWN0IGRpciBkaXZtb2QgZW51bWVyYXRlIGV2YWwgZXhlYyBmaWx0ZXIgZmxvYXQgZm9ybWF0IGZyb3plbnNldCBnZXRhdHRyIGdsb2JhbHMgaGFzYXR0ciBoYXNoIGhlbHAgaGV4IGlkIGlucHV0IGludCBpc2luc3RhbmNlIGlzc3ViY2xhc3MgaXRlciBsZW4gbGlzdCBsb2NhbHMgbWFwIG1heCBtZW1vcnl2aWV3IG1pbiBuZXh0IG9iamVjdCBvY3Qgb3BlbiBvcmQgcG93IHByaW50IHByb3BlcnR5IHJhbmdlIHJlcHIgcmV2ZXJzZWQgcm91bmQgc2V0IHNldGF0dHIgc2xpY2Ugc29ydGVkIHN0YXRpY21ldGhvZCBzdHIgc3VtIHN1cGVyIHR1cGxlIHR5cGUgdmFycyB6aXAiLApsaXRlcmFsOiJfX2RlYnVnX18gRWxsaXBzaXMgRmFsc2UgTm9uZSBOb3RJbXBsZW1lbnRlZCBUcnVlIn0sYT17CmNsYXNzTmFtZToibWV0YSIsYmVnaW46L14oPj4+fFwuXC5cLikgL30scz17Y2xhc3NOYW1lOiJzdWJzdCIsYmVnaW46L1x7LywKZW5kOi9cfS8sa2V5d29yZHM6bixpbGxlZ2FsOi8jL30saT17YmVnaW46L1x7XHsvLHJlbGV2YW5jZTowfSxyPXsKY2xhc3NOYW1lOiJzdHJpbmciLGNvbnRhaW5zOltlLkJBQ0tTTEFTSF9FU0NBUEVdLHZhcmlhbnRzOlt7CmJlZ2luOi8oW3VVXXxbYkJdfFtyUl18W2JCXVtyUl18W3JSXVtiQl0pPycnJy8sZW5kOi8nJycvLApjb250YWluczpbZS5CQUNLU0xBU0hfRVNDQVBFLGFdLHJlbGV2YW5jZToxMH0sewpiZWdpbjovKFt1VV18W2JCXXxbclJdfFtiQl1bclJdfFtyUl1bYkJdKT8iIiIvLGVuZDovIiIiLywKY29udGFpbnM6W2UuQkFDS1NMQVNIX0VTQ0FQRSxhXSxyZWxldmFuY2U6MTB9LHsKYmVnaW46LyhbZkZdW3JSXXxbclJdW2ZGXXxbZkZdKScnJy8sZW5kOi8nJycvLApjb250YWluczpbZS5CQUNLU0xBU0hfRVNDQVBFLGEsaSxzXX0se2JlZ2luOi8oW2ZGXVtyUl18W3JSXVtmRl18W2ZGXSkiIiIvLAplbmQ6LyIiIi8sY29udGFpbnM6W2UuQkFDS1NMQVNIX0VTQ0FQRSxhLGksc119LHtiZWdpbjovKFt1VV18W3JSXSknLyxlbmQ6LycvLApyZWxldmFuY2U6MTB9LHtiZWdpbjovKFt1VV18W3JSXSkiLyxlbmQ6LyIvLHJlbGV2YW5jZToxMH0sewpiZWdpbjovKFtiQl18W2JCXVtyUl18W3JSXVtiQl0pJy8sZW5kOi8nL30se2JlZ2luOi8oW2JCXXxbYkJdW3JSXXxbclJdW2JCXSkiLywKZW5kOi8iL30se2JlZ2luOi8oW2ZGXVtyUl18W3JSXVtmRl18W2ZGXSknLyxlbmQ6LycvLApjb250YWluczpbZS5CQUNLU0xBU0hfRVNDQVBFLGksc119LHtiZWdpbjovKFtmRl1bclJdfFtyUl1bZkZdfFtmRl0pIi8sZW5kOi8iLywKY29udGFpbnM6W2UuQkFDS1NMQVNIX0VTQ0FQRSxpLHNdfSxlLkFQT1NfU1RSSU5HX01PREUsZS5RVU9URV9TVFJJTkdfTU9ERV0KfSx0PSJbMC05XShfP1swLTldKSoiLGw9YChcXGIoJHt0fSkpP1xcLigke3R9KXxcXGIoJHt0fSlcXC5gLGI9ewpjbGFzc05hbWU6Im51bWJlciIscmVsZXZhbmNlOjAsdmFyaWFudHM6W3sKYmVnaW46YChcXGIoJHt0fSl8KCR7bH0pKVtlRV1bKy1dPygke3R9KVtqSl0/XFxiYH0se2JlZ2luOmAoJHtsfSlbakpdP2B9LHsKYmVnaW46IlxcYihbMS05XShfP1swLTldKSp8MCsoXz8wKSopW2xMakpdP1xcYiJ9LHsKYmVnaW46IlxcYjBbYkJdKF8/WzAxXSkrW2xMXT9cXGIifSx7YmVnaW46IlxcYjBbb09dKF8/WzAtN10pK1tsTF0/XFxiIn0sewpiZWdpbjoiXFxiMFt4WF0oXz9bMC05YS1mQS1GXSkrW2xMXT9cXGIifSx7YmVnaW46YFxcYigke3R9KVtqSl1cXGJgfV19LG89ewpjbGFzc05hbWU6InBhcmFtcyIsdmFyaWFudHM6W3tiZWdpbjovXChccypcKS8sc2tpcDohMCxjbGFzc05hbWU6bnVsbH0sewpiZWdpbjovXCgvLGVuZDovXCkvLGV4Y2x1ZGVCZWdpbjohMCxleGNsdWRlRW5kOiEwLGtleXdvcmRzOm4sCmNvbnRhaW5zOlsic2VsZiIsYSxiLHIsZS5IQVNIX0NPTU1FTlRfTU9ERV19XX07cmV0dXJuIHMuY29udGFpbnM9W3IsYixhXSx7Cm5hbWU6IlB5dGhvbiIsYWxpYXNlczpbInB5IiwiZ3lwIiwiaXB5dGhvbiJdLGtleXdvcmRzOm4sCmlsbGVnYWw6Lyg8XC98LT58XD8pfD0+Lyxjb250YWluczpbYSxiLHtiZWdpbjovXGJzZWxmXGIvfSx7YmVnaW5LZXl3b3JkczoiaWYiLApyZWxldmFuY2U6MH0scixlLkhBU0hfQ09NTUVOVF9NT0RFLHt2YXJpYW50czpbe2NsYXNzTmFtZToiZnVuY3Rpb24iLApiZWdpbktleXdvcmRzOiJkZWYifSx7Y2xhc3NOYW1lOiJjbGFzcyIsYmVnaW5LZXl3b3JkczoiY2xhc3MifV0sZW5kOi86LywKaWxsZWdhbDovWyR7PTtcbixdLyxjb250YWluczpbZS5VTkRFUlNDT1JFX1RJVExFX01PREUsbyx7YmVnaW46Ly0+LywKZW5kc1dpdGhQYXJlbnQ6ITAsa2V5d29yZHM6Ik5vbmUifV19LHtjbGFzc05hbWU6Im1ldGEiLGJlZ2luOi9eW1x0IF0qQC8sCmVuZDovKD89Iyl8JC8sY29udGFpbnM6W2IsbyxyXX0se2JlZ2luOi9cYihwcmludHxleGVjKVwoL31dfX19KSgpKTsKaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJweXRob24tcmVwbCIsKCgpPT57InVzZSBzdHJpY3QiO3JldHVybiBzPT4oewphbGlhc2VzOlsicHljb24iXSxjb250YWluczpbe2NsYXNzTmFtZToibWV0YSIsc3RhcnRzOntlbmQ6LyB8JC8sc3RhcnRzOntlbmQ6IiQiLApzdWJMYW5ndWFnZToicHl0aG9uIn19LHZhcmlhbnRzOlt7YmVnaW46L14+Pj4oPz1bIF18JCkvfSx7CmJlZ2luOi9eXC5cLlwuKD89WyBdfCQpL31dfV19KX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInIiLCgoKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKC4uLmUpe3JldHVybiBlLm1hcCgoZT0+ewpyZXR1cm4oYT1lKT8ic3RyaW5nIj09dHlwZW9mIGE/YTphLnNvdXJjZTpudWxsO3ZhciBhfSkpLmpvaW4oIiIpfXJldHVybiBhPT57CmNvbnN0IG49Lyg/Oig/OlthLXpBLVpdfFwuWy5fYS16QS1aXSlbLl9hLXpBLVowLTldKil8XC4oPyFcZCkvO3JldHVybntuYW1lOiJSIiwKaWxsZWdhbDovLT4vLGtleXdvcmRzOnskcGF0dGVybjpuLAprZXl3b3JkOiJmdW5jdGlvbiBpZiBpbiBicmVhayBuZXh0IHJlcGVhdCBlbHNlIGZvciB3aGlsZSIsCmxpdGVyYWw6Ik5VTEwgTkEgVFJVRSBGQUxTRSBJbmYgTmFOIE5BX2ludGVnZXJffDEwIE5BX3JlYWxffDEwIE5BX2NoYXJhY3Rlcl98MTAgTkFfY29tcGxleF98MTAiLApidWlsdF9pbjoiTEVUVEVSUyBsZXR0ZXJzIG1vbnRoLmFiYiBtb250aC5uYW1lIHBpIFQgRiBhYnMgYWNvcyBhY29zaCBhbGwgYW55IGFueU5BIEFyZyBhcy5jYWxsIGFzLmNoYXJhY3RlciBhcy5jb21wbGV4IGFzLmRvdWJsZSBhcy5lbnZpcm9ubWVudCBhcy5pbnRlZ2VyIGFzLmxvZ2ljYWwgYXMubnVsbC5kZWZhdWx0IGFzLm51bWVyaWMgYXMucmF3IGFzaW4gYXNpbmggYXRhbiBhdGFuaCBhdHRyIGF0dHJpYnV0ZXMgYmFzZWVudiBicm93c2VyIGMgY2FsbCBjZWlsaW5nIGNsYXNzIENvbmogY29zIGNvc2ggY29zcGkgY3VtbWF4IGN1bW1pbiBjdW1wcm9kIGN1bXN1bSBkaWdhbW1hIGRpbSBkaW1uYW1lcyBlbXB0eWVudiBleHAgZXhwcmVzc2lvbiBmbG9vciBmb3JjZUFuZENhbGwgZ2FtbWEgZ2MudGltZSBnbG9iYWxlbnYgSW0gaW50ZXJhY3RpdmUgaW52aXNpYmxlIGlzLmFycmF5IGlzLmF0b21pYyBpcy5jYWxsIGlzLmNoYXJhY3RlciBpcy5jb21wbGV4IGlzLmRvdWJsZSBpcy5lbnZpcm9ubWVudCBpcy5leHByZXNzaW9uIGlzLmZpbml0ZSBpcy5mdW5jdGlvbiBpcy5pbmZpbml0ZSBpcy5pbnRlZ2VyIGlzLmxhbmd1YWdlIGlzLmxpc3QgaXMubG9naWNhbCBpcy5tYXRyaXggaXMubmEgaXMubmFtZSBpcy5uYW4gaXMubnVsbCBpcy5udW1lcmljIGlzLm9iamVjdCBpcy5wYWlybGlzdCBpcy5yYXcgaXMucmVjdXJzaXZlIGlzLnNpbmdsZSBpcy5zeW1ib2wgbGF6eUxvYWREQmZldGNoIGxlbmd0aCBsZ2FtbWEgbGlzdCBsb2cgbWF4IG1pbiBtaXNzaW5nIE1vZCBuYW1lcyBuYXJncyBuemNoYXIgb2xkQ2xhc3Mgb24uZXhpdCBwb3MudG8uZW52IHByb2MudGltZSBwcm9kIHF1b3RlIHJhbmdlIFJlIHJlcCByZXRyYWNlbWVtIHJldHVybiByb3VuZCBzZXFfYWxvbmcgc2VxX2xlbiBzZXEuaW50IHNpZ24gc2lnbmlmIHNpbiBzaW5oIHNpbnBpIHNxcnQgc3RhbmRhcmRHZW5lcmljIHN1YnN0aXR1dGUgc3VtIHN3aXRjaCB0YW4gdGFuaCB0YW5waSB0cmFjZW1lbSB0cmlnYW1tYSB0cnVuYyB1bmNsYXNzIHVudHJhY2VtZW0gVXNlTWV0aG9kIHh0ZnJtIgp9LGNvbXBpbGVyRXh0ZW5zaW9uczpbKGEsbik9PntpZighYS5iZWZvcmVNYXRjaClyZXR1cm4KO2lmKGEuc3RhcnRzKXRocm93IEVycm9yKCJiZWZvcmVNYXRjaCBjYW5ub3QgYmUgdXNlZCB3aXRoIHN0YXJ0cyIpCjtjb25zdCBpPU9iamVjdC5hc3NpZ24oe30sYSk7T2JqZWN0LmtleXMoYSkuZm9yRWFjaCgoZT0+e2RlbGV0ZSBhW2VdCn0pKSxhLmJlZ2luPWUoaS5iZWZvcmVNYXRjaCxlKCIoPz0iLGkuYmVnaW4sIikiKSksYS5zdGFydHM9e3JlbGV2YW5jZTowLApjb250YWluczpbT2JqZWN0LmFzc2lnbihpLHtlbmRzUGFyZW50OiEwfSldfSxhLnJlbGV2YW5jZT0wLGRlbGV0ZSBpLmJlZm9yZU1hdGNoCn1dLGNvbnRhaW5zOlthLkNPTU1FTlQoLyMnLywvJC8se2NvbnRhaW5zOlt7Y2xhc3NOYW1lOiJkb2N0YWciLApiZWdpbjoiQGV4YW1wbGVzIixzdGFydHM6e2NvbnRhaW5zOlt7YmVnaW46L1xuL30se2JlZ2luOi8jJ1xzKig/PUBbYS16QS1aXSspLywKZW5kc1BhcmVudDohMH0se2JlZ2luOi8jJy8sZW5kOi8kLyxleGNsdWRlQmVnaW46ITB9XX19LHtjbGFzc05hbWU6ImRvY3RhZyIsCmJlZ2luOiJAcGFyYW0iLGVuZDovJC8sY29udGFpbnM6W3tjbGFzc05hbWU6InZhcmlhYmxlIix2YXJpYW50czpbe2JlZ2luOm59LHsKYmVnaW46L2AoPzpcXC58W15gXFxdKStgL31dLGVuZHNQYXJlbnQ6ITB9XX0se2NsYXNzTmFtZToiZG9jdGFnIiwKYmVnaW46L0BbYS16QS1aXSsvfSx7Y2xhc3NOYW1lOiJtZXRhLWtleXdvcmQiLGJlZ2luOi9cXFthLXpBLVpdKy99XQp9KSxhLkhBU0hfQ09NTUVOVF9NT0RFLHtjbGFzc05hbWU6InN0cmluZyIsY29udGFpbnM6W2EuQkFDS1NMQVNIX0VTQ0FQRV0sCnZhcmlhbnRzOlthLkVORF9TQU1FX0FTX0JFR0lOKHtiZWdpbjovW3JSXSIoLSopXCgvLGVuZDovXCkoLSopIi8KfSksYS5FTkRfU0FNRV9BU19CRUdJTih7YmVnaW46L1tyUl0iKC0qKVx7LyxlbmQ6L1x9KC0qKSIvCn0pLGEuRU5EX1NBTUVfQVNfQkVHSU4oe2JlZ2luOi9bclJdIigtKilcWy8sZW5kOi9cXSgtKikiLwp9KSxhLkVORF9TQU1FX0FTX0JFR0lOKHtiZWdpbjovW3JSXScoLSopXCgvLGVuZDovXCkoLSopJy8KfSksYS5FTkRfU0FNRV9BU19CRUdJTih7YmVnaW46L1tyUl0nKC0qKVx7LyxlbmQ6L1x9KC0qKScvCn0pLGEuRU5EX1NBTUVfQVNfQkVHSU4oe2JlZ2luOi9bclJdJygtKilcWy8sZW5kOi9cXSgtKiknL30pLHtiZWdpbjonIicsZW5kOiciJywKcmVsZXZhbmNlOjB9LHtiZWdpbjoiJyIsZW5kOiInIixyZWxldmFuY2U6MH1dfSx7Y2xhc3NOYW1lOiJudW1iZXIiLHJlbGV2YW5jZTowLApiZWZvcmVNYXRjaDovKFteYS16QS1aMC05Ll9dKS8sdmFyaWFudHM6W3sKbWF0Y2g6LzBbeFhdWzAtOWEtZkEtRl0rXC5bMC05YS1mQS1GXSpbcFBdWystXT9cZCtpPy99LHsKbWF0Y2g6LzBbeFhdWzAtOWEtZkEtRl0rKFtwUF1bKy1dP1xkKyk/W0xpXT8vfSx7Cm1hdGNoOi8oXGQrKFwuXGQqKT98XC5cZCspKFtlRV1bKy1dP1xkKyk/W0xpXT8vfV19LHtiZWdpbjoiJSIsZW5kOiIlIn0sewpiZWdpbjplKC9bYS16QS1aXVthLXpBLVpfMC05XSovLCJcXHMrPC1cXHMrIil9LHtiZWdpbjoiYCIsZW5kOiJgIixjb250YWluczpbewpiZWdpbjovXFwuL31dfV19fX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInJ1YnkiLCgoKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKC4uLmUpewpyZXR1cm4gZS5tYXAoKGU9PntyZXR1cm4obj1lKT8ic3RyaW5nIj09dHlwZW9mIG4/bjpuLnNvdXJjZTpudWxsO3ZhciBuCn0pKS5qb2luKCIiKX1yZXR1cm4gbj0+ewp2YXIgYSxpPSIoW2EtekEtWl9dXFx3KlshPz1dP3xbLSt+XUB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8pIixzPXsKa2V5d29yZDoiYW5kIHRoZW4gZGVmaW5lZCBtb2R1bGUgaW4gcmV0dXJuIHJlZG8gaWYgQkVHSU4gcmV0cnkgZW5kIGZvciBzZWxmIHdoZW4gbmV4dCB1bnRpbCBkbyBiZWdpbiB1bmxlc3MgRU5EIHJlc2N1ZSBlbHNlIGJyZWFrIHVuZGVmIG5vdCBzdXBlciBjbGFzcyBjYXNlIHJlcXVpcmUgeWllbGQgYWxpYXMgd2hpbGUgZW5zdXJlIGVsc2lmIG9yIGluY2x1ZGUgYXR0cl9yZWFkZXIgYXR0cl93cml0ZXIgYXR0cl9hY2Nlc3NvciBfX0ZJTEVfXyIsCmJ1aWx0X2luOiJwcm9jIGxhbWJkYSIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSBuaWwifSxyPXtjbGFzc05hbWU6ImRvY3RhZyIsCmJlZ2luOiJAW0EtWmEtel0rIn0sYj17YmVnaW46IiM8IixlbmQ6Ij4ifSx0PVtuLkNPTU1FTlQoIiMiLCIkIix7Y29udGFpbnM6W3JdCn0pLG4uQ09NTUVOVCgiXj1iZWdpbiIsIl49ZW5kIix7Y29udGFpbnM6W3JdLHJlbGV2YW5jZToxMAp9KSxuLkNPTU1FTlQoIl5fX0VORF9fIiwiXFxuJCIpXSxjPXtjbGFzc05hbWU6InN1YnN0IixiZWdpbjovI1x7LyxlbmQ6L1x9LywKa2V5d29yZHM6c30sZD17Y2xhc3NOYW1lOiJzdHJpbmciLGNvbnRhaW5zOltuLkJBQ0tTTEFTSF9FU0NBUEUsY10sdmFyaWFudHM6W3sKYmVnaW46LycvLGVuZDovJy99LHtiZWdpbjovIi8sZW5kOi8iL30se2JlZ2luOi9gLyxlbmQ6L2AvfSx7YmVnaW46LyVbcVF3V3hdP1woLywKZW5kOi9cKS99LHtiZWdpbjovJVtxUXdXeF0/XFsvLGVuZDovXF0vfSx7YmVnaW46LyVbcVF3V3hdP1x7LyxlbmQ6L1x9L30sewpiZWdpbjovJVtxUXdXeF0/PC8sZW5kOi8+L30se2JlZ2luOi8lW3FRd1d4XT9cLy8sZW5kOi9cLy99LHtiZWdpbjovJVtxUXdXeF0/JS8sCmVuZDovJS99LHtiZWdpbjovJVtxUXdXeF0/LS8sZW5kOi8tL30se2JlZ2luOi8lW3FRd1d4XT9cfC8sZW5kOi9cfC99LHsKYmVnaW46L1xCXD8oXFxcZHsxLDN9fFxceFtBLUZhLWYwLTldezEsMn18XFx1W0EtRmEtZjAtOV17NH18XFw/XFMpXGIvfSx7CmJlZ2luOi88PFstfl0/Jz8oXHcrKVxuKD86W15cbl0qXG4pKj9ccypcMVxiLyxyZXR1cm5CZWdpbjohMCxjb250YWluczpbewpiZWdpbjovPDxbLX5dPyc/L30sbi5FTkRfU0FNRV9BU19CRUdJTih7YmVnaW46LyhcdyspLyxlbmQ6LyhcdyspLywKY29udGFpbnM6W24uQkFDS1NMQVNIX0VTQ0FQRSxjXX0pXX1dfSxnPSJbMC05XShfP1swLTldKSoiLGw9e2NsYXNzTmFtZToibnVtYmVyIiwKcmVsZXZhbmNlOjAsdmFyaWFudHM6W3sKYmVnaW46YFxcYihbMS05XShfP1swLTldKSp8MCkoXFwuKCR7Z30pKT8oW2VFXVsrLV0/KCR7Z30pfHIpP2k/XFxiYH0sewpiZWdpbjoiXFxiMFtkRF1bMC05XShfP1swLTldKSpyP2k/XFxiIn0se2JlZ2luOiJcXGIwW2JCXVswLTFdKF8/WzAtMV0pKnI/aT9cXGIiCn0se2JlZ2luOiJcXGIwW29PXVswLTddKF8/WzAtN10pKnI/aT9cXGIifSx7CmJlZ2luOiJcXGIwW3hYXVswLTlhLWZBLUZdKF8/WzAtOWEtZkEtRl0pKnI/aT9cXGIifSx7CmJlZ2luOiJcXGIwKF8/WzAtN10pK3I/aT9cXGIifV19LG89e2NsYXNzTmFtZToicGFyYW1zIixiZWdpbjoiXFwoIixlbmQ6IlxcKSIsCmVuZHNQYXJlbnQ6ITAsa2V5d29yZHM6c30sXz1bZCx7Y2xhc3NOYW1lOiJjbGFzcyIsYmVnaW5LZXl3b3JkczoiY2xhc3MgbW9kdWxlIiwKZW5kOiIkfDsiLGlsbGVnYWw6Lz0vLGNvbnRhaW5zOltuLmluaGVyaXQobi5USVRMRV9NT0RFLHsKYmVnaW46IltBLVphLXpfXVxcdyooOjpcXHcrKSooXFw/fCEpPyJ9KSx7YmVnaW46IjxcXHMqIixjb250YWluczpbewpiZWdpbjoiKCIrbi5JREVOVF9SRSsiOjopPyIrbi5JREVOVF9SRX1dfV0uY29uY2F0KHQpfSx7Y2xhc3NOYW1lOiJmdW5jdGlvbiIsCmJlZ2luOmUoL2RlZlxzKi8sKGE9aSsiXFxzKihcXCh8O3wkKSIsZSgiKD89IixhLCIpIikpKSxrZXl3b3JkczoiZGVmIixlbmQ6IiR8OyIsCmNvbnRhaW5zOltuLmluaGVyaXQobi5USVRMRV9NT0RFLHtiZWdpbjppfSksb10uY29uY2F0KHQpfSx7YmVnaW46bi5JREVOVF9SRSsiOjoiCn0se2NsYXNzTmFtZToic3ltYm9sIixiZWdpbjpuLlVOREVSU0NPUkVfSURFTlRfUkUrIighfFxcPyk/OiIscmVsZXZhbmNlOjB9LHsKY2xhc3NOYW1lOiJzeW1ib2wiLGJlZ2luOiI6KD8hXFxzKSIsY29udGFpbnM6W2Qse2JlZ2luOml9XSxyZWxldmFuY2U6MH0sbCx7CmNsYXNzTmFtZToidmFyaWFibGUiLApiZWdpbjoiKFxcJFxcVyl8KChcXCR8QEA/KShcXHcrKSkoPz1bXkAkP10pKD8hW0EtWmEtel0pKD8hW0AkPyddKSJ9LHsKY2xhc3NOYW1lOiJwYXJhbXMiLGJlZ2luOi9cfC8sZW5kOi9cfC8scmVsZXZhbmNlOjAsa2V5d29yZHM6c30sewpiZWdpbjoiKCIrbi5SRV9TVEFSVEVSU19SRSsifHVubGVzcylcXHMqIixrZXl3b3JkczoidW5sZXNzIixjb250YWluczpbewpjbGFzc05hbWU6InJlZ2V4cCIsY29udGFpbnM6W24uQkFDS1NMQVNIX0VTQ0FQRSxjXSxpbGxlZ2FsOi9cbi8sdmFyaWFudHM6W3sKYmVnaW46Ii8iLGVuZDoiL1thLXpdKiJ9LHtiZWdpbjovJXJcey8sZW5kOi9cfVthLXpdKi99LHtiZWdpbjoiJXJcXCgiLAplbmQ6IlxcKVthLXpdKiJ9LHtiZWdpbjoiJXIhIixlbmQ6IiFbYS16XSoifSx7YmVnaW46IiVyXFxbIixlbmQ6IlxcXVthLXpdKiJ9XQp9XS5jb25jYXQoYix0KSxyZWxldmFuY2U6MH1dLmNvbmNhdChiLHQpO2MuY29udGFpbnM9XyxvLmNvbnRhaW5zPV87dmFyIEU9W3sKYmVnaW46L15ccyo9Pi8sc3RhcnRzOntlbmQ6IiQiLGNvbnRhaW5zOl99fSx7Y2xhc3NOYW1lOiJtZXRhIiwKYmVnaW46Il4oWz4/XT58W1xcdyNdK1xcKFxcdytcXCk6XFxkKzpcXGQrPnwoXFx3Ky0pP1xcZCtcXC5cXGQrXFwuXFxkKyhwXFxkKyk/W15cXGRdW14+XSs+KSg/PVsgXSkiLApzdGFydHM6e2VuZDoiJCIsY29udGFpbnM6X319XTtyZXR1cm4gdC51bnNoaWZ0KGIpLHtuYW1lOiJSdWJ5IiwKYWxpYXNlczpbInJiIiwiZ2Vtc3BlYyIsInBvZHNwZWMiLCJ0aG9yIiwiaXJiIl0sa2V5d29yZHM6cyxpbGxlZ2FsOi9cL1wqLywKY29udGFpbnM6W24uU0hFQkFORyh7YmluYXJ5OiJydWJ5In0pXS5jb25jYXQoRSkuY29uY2F0KHQpLmNvbmNhdChfKX19fSkoKSk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgicnVzdCIsKCgpPT57InVzZSBzdHJpY3QiO3JldHVybiBlPT57CmNvbnN0IG49IihbdWldKDh8MTZ8MzJ8NjR8MTI4fHNpemUpfGYoMzJ8NjQpKT8iLHQ9ImRyb3AgaTggaTE2IGkzMiBpNjQgaTEyOCBpc2l6ZSB1OCB1MTYgdTMyIHU2NCB1MTI4IHVzaXplIGYzMiBmNjQgc3RyIGNoYXIgYm9vbCBCb3ggT3B0aW9uIFJlc3VsdCBTdHJpbmcgVmVjIENvcHkgU2VuZCBTaXplZCBTeW5jIERyb3AgRm4gRm5NdXQgRm5PbmNlIFRvT3duZWQgQ2xvbmUgRGVidWcgUGFydGlhbEVxIFBhcnRpYWxPcmQgRXEgT3JkIEFzUmVmIEFzTXV0IEludG8gRnJvbSBEZWZhdWx0IEl0ZXJhdG9yIEV4dGVuZCBJbnRvSXRlcmF0b3IgRG91YmxlRW5kZWRJdGVyYXRvciBFeGFjdFNpemVJdGVyYXRvciBTbGljZUNvbmNhdEV4dCBUb1N0cmluZyBhc3NlcnQhIGFzc2VydF9lcSEgYml0ZmxhZ3MhIGJ5dGVzISBjZmchIGNvbCEgY29uY2F0ISBjb25jYXRfaWRlbnRzISBkZWJ1Z19hc3NlcnQhIGRlYnVnX2Fzc2VydF9lcSEgZW52ISBwYW5pYyEgZmlsZSEgZm9ybWF0ISBmb3JtYXRfYXJncyEgaW5jbHVkZV9iaW4hIGluY2x1ZGVfc3RyISBsaW5lISBsb2NhbF9kYXRhX2tleSEgbW9kdWxlX3BhdGghIG9wdGlvbl9lbnYhIHByaW50ISBwcmludGxuISBzZWxlY3QhIHN0cmluZ2lmeSEgdHJ5ISB1bmltcGxlbWVudGVkISB1bnJlYWNoYWJsZSEgdmVjISB3cml0ZSEgd3JpdGVsbiEgbWFjcm9fcnVsZXMhIGFzc2VydF9uZSEgZGVidWdfYXNzZXJ0X25lISIKO3JldHVybntuYW1lOiJSdXN0IixhbGlhc2VzOlsicnMiXSxrZXl3b3Jkczp7JHBhdHRlcm46ZS5JREVOVF9SRSsiIT8iLAprZXl3b3JkOiJhYnN0cmFjdCBhcyBhc3luYyBhd2FpdCBiZWNvbWUgYm94IGJyZWFrIGNvbnN0IGNvbnRpbnVlIGNyYXRlIGRvIGR5biBlbHNlIGVudW0gZXh0ZXJuIGZhbHNlIGZpbmFsIGZuIGZvciBpZiBpbXBsIGluIGxldCBsb29wIG1hY3JvIG1hdGNoIG1vZCBtb3ZlIG11dCBvdmVycmlkZSBwcml2IHB1YiByZWYgcmV0dXJuIHNlbGYgU2VsZiBzdGF0aWMgc3RydWN0IHN1cGVyIHRyYWl0IHRydWUgdHJ5IHR5cGUgdHlwZW9mIHVuc2FmZSB1bnNpemVkIHVzZSB2aXJ0dWFsIHdoZXJlIHdoaWxlIHlpZWxkIiwKbGl0ZXJhbDoidHJ1ZSBmYWxzZSBTb21lIE5vbmUgT2sgRXJyIixidWlsdF9pbjp0fSxpbGxlZ2FsOiI8LyIsCmNvbnRhaW5zOltlLkNfTElORV9DT01NRU5UX01PREUsZS5DT01NRU5UKCIvXFwqIiwiXFwqLyIse2NvbnRhaW5zOlsic2VsZiJdCn0pLGUuaW5oZXJpdChlLlFVT1RFX1NUUklOR19NT0RFLHtiZWdpbjovYj8iLyxpbGxlZ2FsOm51bGx9KSx7CmNsYXNzTmFtZToic3RyaW5nIix2YXJpYW50czpbe2JlZ2luOi9yKCMqKSIoLnxcbikqPyJcMSg/ISMpL30sewpiZWdpbjovYj8nXFw/KHhcd3syfXx1XHd7NH18VVx3ezh9fC4pJy99XX0se2NsYXNzTmFtZToic3ltYm9sIiwKYmVnaW46LydbYS16QS1aX11bYS16QS1aMC05X10qL30se2NsYXNzTmFtZToibnVtYmVyIix2YXJpYW50czpbewpiZWdpbjoiXFxiMGIoWzAxX10rKSIrbn0se2JlZ2luOiJcXGIwbyhbMC03X10rKSIrbn0sewpiZWdpbjoiXFxiMHgoW0EtRmEtZjAtOV9dKykiK259LHsKYmVnaW46IlxcYihcXGRbXFxkX10qKFxcLlswLTlfXSspPyhbZUVdWystXT9bMC05X10rKT8pIitufV0scmVsZXZhbmNlOjB9LHsKY2xhc3NOYW1lOiJmdW5jdGlvbiIsYmVnaW5LZXl3b3JkczoiZm4iLGVuZDoiKFxcKHw8KSIsZXhjbHVkZUVuZDohMCwKY29udGFpbnM6W2UuVU5ERVJTQ09SRV9USVRMRV9NT0RFXX0se2NsYXNzTmFtZToibWV0YSIsYmVnaW46IiMhP1xcWyIsZW5kOiJcXF0iLApjb250YWluczpbe2NsYXNzTmFtZToibWV0YS1zdHJpbmciLGJlZ2luOi8iLyxlbmQ6LyIvfV19LHtjbGFzc05hbWU6ImNsYXNzIiwKYmVnaW5LZXl3b3JkczoidHlwZSIsZW5kOiI7Iixjb250YWluczpbZS5pbmhlcml0KGUuVU5ERVJTQ09SRV9USVRMRV9NT0RFLHsKZW5kc1BhcmVudDohMH0pXSxpbGxlZ2FsOiJcXFMifSx7Y2xhc3NOYW1lOiJjbGFzcyIsCmJlZ2luS2V5d29yZHM6InRyYWl0IGVudW0gc3RydWN0IHVuaW9uIixlbmQ6L1x7LywKY29udGFpbnM6W2UuaW5oZXJpdChlLlVOREVSU0NPUkVfVElUTEVfTU9ERSx7ZW5kc1BhcmVudDohMH0pXSxpbGxlZ2FsOiJbXFx3XFxkXSIKfSx7YmVnaW46ZS5JREVOVF9SRSsiOjoiLGtleXdvcmRzOntidWlsdF9pbjp0fX0se2JlZ2luOiItPiJ9XX19fSkoKSk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgic2NzcyIsKCgpPT57InVzZSBzdHJpY3QiO3JldHVybiBlPT57dmFyIHQ9IkBbYS16LV0rIixpPXsKY2xhc3NOYW1lOiJ2YXJpYWJsZSIsYmVnaW46IihcXCRbYS16QS1aLV1bYS16QS1aMC05Xy1dKilcXGIifSxyPXsKY2xhc3NOYW1lOiJudW1iZXIiLGJlZ2luOiIjWzAtOUEtRmEtZl0rIn0KO3JldHVybiBlLkNTU19OVU1CRVJfTU9ERSxlLlFVT1RFX1NUUklOR19NT0RFLAplLkFQT1NfU1RSSU5HX01PREUsZS5DX0JMT0NLX0NPTU1FTlRfTU9ERSx7bmFtZToiU0NTUyIsY2FzZV9pbnNlbnNpdGl2ZTohMCwKaWxsZWdhbDoiWz0vfCddIixjb250YWluczpbZS5DX0xJTkVfQ09NTUVOVF9NT0RFLGUuQ19CTE9DS19DT01NRU5UX01PREUsewpjbGFzc05hbWU6InNlbGVjdG9yLWlkIixiZWdpbjoiI1tBLVphLXowLTlfLV0rIixyZWxldmFuY2U6MH0sewpjbGFzc05hbWU6InNlbGVjdG9yLWNsYXNzIixiZWdpbjoiXFwuW0EtWmEtejAtOV8tXSsiLHJlbGV2YW5jZTowfSx7CmNsYXNzTmFtZToic2VsZWN0b3ItYXR0ciIsYmVnaW46IlxcWyIsZW5kOiJcXF0iLGlsbGVnYWw6IiQifSx7CmNsYXNzTmFtZToic2VsZWN0b3ItdGFnIiwKYmVnaW46IlxcYihhfGFiYnJ8YWNyb255bXxhZGRyZXNzfGFyZWF8YXJ0aWNsZXxhc2lkZXxhdWRpb3xifGJhc2V8YmlnfGJsb2NrcXVvdGV8Ym9keXxicnxidXR0b258Y2FudmFzfGNhcHRpb258Y2l0ZXxjb2RlfGNvbHxjb2xncm91cHxjb21tYW5kfGRhdGFsaXN0fGRkfGRlbHxkZXRhaWxzfGRmbnxkaXZ8ZGx8ZHR8ZW18ZW1iZWR8ZmllbGRzZXR8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGZvcm18ZnJhbWV8ZnJhbWVzZXR8KGhbMS02XSl8aGVhZHxoZWFkZXJ8aGdyb3VwfGhyfGh0bWx8aXxpZnJhbWV8aW1nfGlucHV0fGluc3xrYmR8a2V5Z2VufGxhYmVsfGxlZ2VuZHxsaXxsaW5rfG1hcHxtYXJrfG1ldGF8bWV0ZXJ8bmF2fG5vZnJhbWVzfG5vc2NyaXB0fG9iamVjdHxvbHxvcHRncm91cHxvcHRpb258b3V0cHV0fHB8cGFyYW18cHJlfHByb2dyZXNzfHF8cnB8cnR8cnVieXxzYW1wfHNjcmlwdHxzZWN0aW9ufHNlbGVjdHxzbWFsbHxzcGFufHN0cmlrZXxzdHJvbmd8c3R5bGV8c3VifHN1cHx0YWJsZXx0Ym9keXx0ZHx0ZXh0YXJlYXx0Zm9vdHx0aHx0aGVhZHx0aW1lfHRpdGxlfHRyfHR0fHVsfHZhcnx2aWRlbylcXGIiLApyZWxldmFuY2U6MH0se2NsYXNzTmFtZToic2VsZWN0b3ItcHNldWRvIiwKYmVnaW46IjoodmlzaXRlZHx2YWxpZHxyb290fHJpZ2h0fHJlcXVpcmVkfHJlYWQtd3JpdGV8cmVhZC1vbmx5fG91dC1yYW5nZXxvcHRpb25hbHxvbmx5LW9mLXR5cGV8b25seS1jaGlsZHxudGgtb2YtdHlwZXxudGgtbGFzdC1vZi10eXBlfG50aC1sYXN0LWNoaWxkfG50aC1jaGlsZHxub3R8bGlua3xsZWZ0fGxhc3Qtb2YtdHlwZXxsYXN0LWNoaWxkfGxhbmd8aW52YWxpZHxpbmRldGVybWluYXRlfGluLXJhbmdlfGhvdmVyfGZvY3VzfGZpcnN0LW9mLXR5cGV8Zmlyc3QtbGluZXxmaXJzdC1sZXR0ZXJ8Zmlyc3QtY2hpbGR8Zmlyc3R8ZW5hYmxlZHxlbXB0eXxkaXNhYmxlZHxkZWZhdWx0fGNoZWNrZWR8YmVmb3JlfGFmdGVyfGFjdGl2ZSkiCn0se2NsYXNzTmFtZToic2VsZWN0b3ItcHNldWRvIiwKYmVnaW46Ijo6KGFmdGVyfGJlZm9yZXxjaG9pY2VzfGZpcnN0LWxldHRlcnxmaXJzdC1saW5lfHJlcGVhdC1pbmRleHxyZXBlYXQtaXRlbXxzZWxlY3Rpb258dmFsdWUpIgp9LGkse2NsYXNzTmFtZToiYXR0cmlidXRlIiwKYmVnaW46IlxcYihzcmN8ei1pbmRleHx3b3JkLXdyYXB8d29yZC1zcGFjaW5nfHdvcmQtYnJlYWt8d2lkdGh8d2lkb3dzfHdoaXRlLXNwYWNlfHZpc2liaWxpdHl8dmVydGljYWwtYWxpZ258dW5pY29kZS1iaWRpfHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9ufHRyYW5zaXRpb24tcHJvcGVydHl8dHJhbnNpdGlvbi1kdXJhdGlvbnx0cmFuc2l0aW9uLWRlbGF5fHRyYW5zaXRpb258dHJhbnNmb3JtLXN0eWxlfHRyYW5zZm9ybS1vcmlnaW58dHJhbnNmb3JtfHRvcHx0ZXh0LXVuZGVybGluZS1wb3NpdGlvbnx0ZXh0LXRyYW5zZm9ybXx0ZXh0LXNoYWRvd3x0ZXh0LXJlbmRlcmluZ3x0ZXh0LW92ZXJmbG93fHRleHQtaW5kZW50fHRleHQtZGVjb3JhdGlvbi1zdHlsZXx0ZXh0LWRlY29yYXRpb24tbGluZXx0ZXh0LWRlY29yYXRpb24tY29sb3J8dGV4dC1kZWNvcmF0aW9ufHRleHQtYWxpZ24tbGFzdHx0ZXh0LWFsaWdufHRhYi1zaXplfHRhYmxlLWxheW91dHxyaWdodHxyZXNpemV8cXVvdGVzfHBvc2l0aW9ufHBvaW50ZXItZXZlbnRzfHBlcnNwZWN0aXZlLW9yaWdpbnxwZXJzcGVjdGl2ZXxwYWdlLWJyZWFrLWluc2lkZXxwYWdlLWJyZWFrLWJlZm9yZXxwYWdlLWJyZWFrLWFmdGVyfHBhZGRpbmctdG9wfHBhZGRpbmctcmlnaHR8cGFkZGluZy1sZWZ0fHBhZGRpbmctYm90dG9tfHBhZGRpbmd8b3ZlcmZsb3cteXxvdmVyZmxvdy14fG92ZXJmbG93LXdyYXB8b3ZlcmZsb3d8b3V0bGluZS13aWR0aHxvdXRsaW5lLXN0eWxlfG91dGxpbmUtb2Zmc2V0fG91dGxpbmUtY29sb3J8b3V0bGluZXxvcnBoYW5zfG9yZGVyfG9wYWNpdHl8b2JqZWN0LXBvc2l0aW9ufG9iamVjdC1maXR8bm9ybWFsfG5vbmV8bmF2LXVwfG5hdi1yaWdodHxuYXYtbGVmdHxuYXYtaW5kZXh8bmF2LWRvd258bWluLXdpZHRofG1pbi1oZWlnaHR8bWF4LXdpZHRofG1heC1oZWlnaHR8bWFza3xtYXJrc3xtYXJnaW4tdG9wfG1hcmdpbi1yaWdodHxtYXJnaW4tbGVmdHxtYXJnaW4tYm90dG9tfG1hcmdpbnxsaXN0LXN0eWxlLXR5cGV8bGlzdC1zdHlsZS1wb3NpdGlvbnxsaXN0LXN0eWxlLWltYWdlfGxpc3Qtc3R5bGV8bGluZS1oZWlnaHR8bGV0dGVyLXNwYWNpbmd8bGVmdHxqdXN0aWZ5LWNvbnRlbnR8aW5pdGlhbHxpbmhlcml0fGltZS1tb2RlfGltYWdlLW9yaWVudGF0aW9ufGltYWdlLXJlc29sdXRpb258aW1hZ2UtcmVuZGVyaW5nfGljb258aHlwaGVuc3xoZWlnaHR8Zm9udC13ZWlnaHR8Zm9udC12YXJpYW50LWxpZ2F0dXJlc3xmb250LXZhcmlhbnR8Zm9udC1zdHlsZXxmb250LXN0cmV0Y2h8Zm9udC1zaXplLWFkanVzdHxmb250LXNpemV8Zm9udC1sYW5ndWFnZS1vdmVycmlkZXxmb250LWtlcm5pbmd8Zm9udC1mZWF0dXJlLXNldHRpbmdzfGZvbnQtZmFtaWx5fGZvbnR8ZmxvYXR8ZmxleC13cmFwfGZsZXgtc2hyaW5rfGZsZXgtZ3Jvd3xmbGV4LWZsb3d8ZmxleC1kaXJlY3Rpb258ZmxleC1iYXNpc3xmbGV4fGZpbHRlcnxlbXB0eS1jZWxsc3xkaXNwbGF5fGRpcmVjdGlvbnxjdXJzb3J8Y291bnRlci1yZXNldHxjb3VudGVyLWluY3JlbWVudHxjb250ZW50fGNvbHVtbi13aWR0aHxjb2x1bW4tc3Bhbnxjb2x1bW4tcnVsZS13aWR0aHxjb2x1bW4tcnVsZS1zdHlsZXxjb2x1bW4tcnVsZS1jb2xvcnxjb2x1bW4tcnVsZXxjb2x1bW4tZ2FwfGNvbHVtbi1maWxsfGNvbHVtbi1jb3VudHxjb2x1bW5zfGNvbG9yfGNsaXAtcGF0aHxjbGlwfGNsZWFyfGNhcHRpb24tc2lkZXxicmVhay1pbnNpZGV8YnJlYWstYmVmb3JlfGJyZWFrLWFmdGVyfGJveC1zaXppbmd8Ym94LXNoYWRvd3xib3gtZGVjb3JhdGlvbi1icmVha3xib3R0b218Ym9yZGVyLXdpZHRofGJvcmRlci10b3Atd2lkdGh8Ym9yZGVyLXRvcC1zdHlsZXxib3JkZXItdG9wLXJpZ2h0LXJhZGl1c3xib3JkZXItdG9wLWxlZnQtcmFkaXVzfGJvcmRlci10b3AtY29sb3J8Ym9yZGVyLXRvcHxib3JkZXItc3R5bGV8Ym9yZGVyLXNwYWNpbmd8Ym9yZGVyLXJpZ2h0LXdpZHRofGJvcmRlci1yaWdodC1zdHlsZXxib3JkZXItcmlnaHQtY29sb3J8Ym9yZGVyLXJpZ2h0fGJvcmRlci1yYWRpdXN8Ym9yZGVyLWxlZnQtd2lkdGh8Ym9yZGVyLWxlZnQtc3R5bGV8Ym9yZGVyLWxlZnQtY29sb3J8Ym9yZGVyLWxlZnR8Ym9yZGVyLWltYWdlLXdpZHRofGJvcmRlci1pbWFnZS1zb3VyY2V8Ym9yZGVyLWltYWdlLXNsaWNlfGJvcmRlci1pbWFnZS1yZXBlYXR8Ym9yZGVyLWltYWdlLW91dHNldHxib3JkZXItaW1hZ2V8Ym9yZGVyLWNvbG9yfGJvcmRlci1jb2xsYXBzZXxib3JkZXItYm90dG9tLXdpZHRofGJvcmRlci1ib3R0b20tc3R5bGV8Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXN8Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1c3xib3JkZXItYm90dG9tLWNvbG9yfGJvcmRlci1ib3R0b218Ym9yZGVyfGJhY2tncm91bmQtc2l6ZXxiYWNrZ3JvdW5kLXJlcGVhdHxiYWNrZ3JvdW5kLXBvc2l0aW9ufGJhY2tncm91bmQtb3JpZ2lufGJhY2tncm91bmQtaW1hZ2V8YmFja2dyb3VuZC1jb2xvcnxiYWNrZ3JvdW5kLWNsaXB8YmFja2dyb3VuZC1hdHRhY2htZW50fGJhY2tncm91bmQtYmxlbmQtbW9kZXxiYWNrZ3JvdW5kfGJhY2tmYWNlLXZpc2liaWxpdHl8YXV0b3xhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9ufGFuaW1hdGlvbi1wbGF5LXN0YXRlfGFuaW1hdGlvbi1uYW1lfGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnR8YW5pbWF0aW9uLWZpbGwtbW9kZXxhbmltYXRpb24tZHVyYXRpb258YW5pbWF0aW9uLWRpcmVjdGlvbnxhbmltYXRpb24tZGVsYXl8YW5pbWF0aW9ufGFsaWduLXNlbGZ8YWxpZ24taXRlbXN8YWxpZ24tY29udGVudClcXGIiLAppbGxlZ2FsOiJbXlxcc10ifSx7CmJlZ2luOiJcXGIod2hpdGVzcGFjZXx3YWl0fHctcmVzaXplfHZpc2libGV8dmVydGljYWwtdGV4dHx2ZXJ0aWNhbC1pZGVvZ3JhcGhpY3x1cHBlcmNhc2V8dXBwZXItcm9tYW58dXBwZXItYWxwaGF8dW5kZXJsaW5lfHRyYW5zcGFyZW50fHRvcHx0aGlufHRoaWNrfHRleHR8dGV4dC10b3B8dGV4dC1ib3R0b218dGItcmx8dGFibGUtaGVhZGVyLWdyb3VwfHRhYmxlLWZvb3Rlci1ncm91cHxzdy1yZXNpemV8c3VwZXJ8c3RyaWN0fHN0YXRpY3xzcXVhcmV8c29saWR8c21hbGwtY2Fwc3xzZXBhcmF0ZXxzZS1yZXNpemV8c2Nyb2xsfHMtcmVzaXplfHJ0bHxyb3ctcmVzaXplfHJpZGdlfHJpZ2h0fHJlcGVhdHxyZXBlYXQteXxyZXBlYXQteHxyZWxhdGl2ZXxwcm9ncmVzc3xwb2ludGVyfG92ZXJsaW5lfG91dHNpZGV8b3V0c2V0fG9ibGlxdWV8bm93cmFwfG5vdC1hbGxvd2VkfG5vcm1hbHxub25lfG53LXJlc2l6ZXxuby1yZXBlYXR8bm8tZHJvcHxuZXdzcGFwZXJ8bmUtcmVzaXplfG4tcmVzaXplfG1vdmV8bWlkZGxlfG1lZGl1bXxsdHJ8bHItdGJ8bG93ZXJjYXNlfGxvd2VyLXJvbWFufGxvd2VyLWFscGhhfGxvb3NlfGxpc3QtaXRlbXxsaW5lfGxpbmUtdGhyb3VnaHxsaW5lLWVkZ2V8bGlnaHRlcnxsZWZ0fGtlZXAtYWxsfGp1c3RpZnl8aXRhbGljfGludGVyLXdvcmR8aW50ZXItaWRlb2dyYXBofGluc2lkZXxpbnNldHxpbmxpbmV8aW5saW5lLWJsb2NrfGluaGVyaXR8aW5hY3RpdmV8aWRlb2dyYXBoLXNwYWNlfGlkZW9ncmFwaC1wYXJlbnRoZXNpc3xpZGVvZ3JhcGgtbnVtZXJpY3xpZGVvZ3JhcGgtYWxwaGF8aG9yaXpvbnRhbHxoaWRkZW58aGVscHxoYW5kfGdyb292ZXxmaXhlZHxlbGxpcHNpc3xlLXJlc2l6ZXxkb3VibGV8ZG90dGVkfGRpc3RyaWJ1dGV8ZGlzdHJpYnV0ZS1zcGFjZXxkaXN0cmlidXRlLWxldHRlcnxkaXN0cmlidXRlLWFsbC1saW5lc3xkaXNjfGRpc2FibGVkfGRlZmF1bHR8ZGVjaW1hbHxkYXNoZWR8Y3Jvc3NoYWlyfGNvbGxhcHNlfGNvbC1yZXNpemV8Y2lyY2xlfGNoYXJ8Y2VudGVyfGNhcGl0YWxpemV8YnJlYWstd29yZHxicmVhay1hbGx8Ym90dG9tfGJvdGh8Ym9sZGVyfGJvbGR8YmxvY2t8YmlkaS1vdmVycmlkZXxiZWxvd3xiYXNlbGluZXxhdXRvfGFsd2F5c3xhbGwtc2Nyb2xsfGFic29sdXRlfHRhYmxlfHRhYmxlLWNlbGwpXFxiIgp9LHtiZWdpbjoiOiIsZW5kOiI7IiwKY29udGFpbnM6W2kscixlLkNTU19OVU1CRVJfTU9ERSxlLlFVT1RFX1NUUklOR19NT0RFLGUuQVBPU19TVFJJTkdfTU9ERSx7CmNsYXNzTmFtZToibWV0YSIsYmVnaW46IiFpbXBvcnRhbnQifV19LHtiZWdpbjoiQChwYWdlfGZvbnQtZmFjZSkiLGxleGVtZXM6dCwKa2V5d29yZHM6IkBwYWdlIEBmb250LWZhY2UifSx7YmVnaW46IkAiLGVuZDoiW3s7XSIscmV0dXJuQmVnaW46ITAsCmtleXdvcmRzOiJhbmQgb3Igbm90IG9ubHkiLGNvbnRhaW5zOlt7YmVnaW46dCxjbGFzc05hbWU6ImtleXdvcmQiCn0saSxlLlFVT1RFX1NUUklOR19NT0RFLGUuQVBPU19TVFJJTkdfTU9ERSxyLGUuQ1NTX05VTUJFUl9NT0RFXX1dfX19KSgpKTsKaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJzaGVsbCIsKCgpPT57InVzZSBzdHJpY3QiO3JldHVybiBzPT4oewpuYW1lOiJTaGVsbCBTZXNzaW9uIixhbGlhc2VzOlsiY29uc29sZSJdLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJtZXRhIiwKYmVnaW46L15cc3swLDN9Wy9+XHdcZFtcXSgpQC1dKls+JSQjXS8sc3RhcnRzOntlbmQ6L1teXFxdKD89XHMqJCkvLApzdWJMYW5ndWFnZToiYmFzaCJ9fV19KX0pKCkpOwpobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInNxbCIsKCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoZSl7CnJldHVybiBlPyJzdHJpbmciPT10eXBlb2YgZT9lOmUuc291cmNlOm51bGx9ZnVuY3Rpb24gciguLi5yKXsKcmV0dXJuIHIubWFwKChyPT5lKHIpKSkuam9pbigiIil9ZnVuY3Rpb24gdCguLi5yKXsKcmV0dXJuIigiK3IubWFwKChyPT5lKHIpKSkuam9pbigifCIpKyIpIn1yZXR1cm4gZT0+ewpjb25zdCBuPWUuQ09NTUVOVCgiLS0iLCIkIiksYT1bInRydWUiLCJmYWxzZSIsInVua25vd24iXSxpPVsiYmlnaW50IiwiYmluYXJ5IiwiYmxvYiIsImJvb2xlYW4iLCJjaGFyIiwiY2hhcmFjdGVyIiwiY2xvYiIsImRhdGUiLCJkZWMiLCJkZWNmbG9hdCIsImRlY2ltYWwiLCJmbG9hdCIsImludCIsImludGVnZXIiLCJpbnRlcnZhbCIsIm5jaGFyIiwibmNsb2IiLCJuYXRpb25hbCIsIm51bWVyaWMiLCJyZWFsIiwicm93Iiwic21hbGxpbnQiLCJ0aW1lIiwidGltZXN0YW1wIiwidmFyY2hhciIsInZhcnlpbmciLCJ2YXJiaW5hcnkiXSxzPVsiYWJzIiwiYWNvcyIsImFycmF5X2FnZyIsImFzaW4iLCJhdGFuIiwiYXZnIiwiY2FzdCIsImNlaWwiLCJjZWlsaW5nIiwiY29hbGVzY2UiLCJjb3JyIiwiY29zIiwiY29zaCIsImNvdW50IiwiY292YXJfcG9wIiwiY292YXJfc2FtcCIsImN1bWVfZGlzdCIsImRlbnNlX3JhbmsiLCJkZXJlZiIsImVsZW1lbnQiLCJleHAiLCJleHRyYWN0IiwiZmlyc3RfdmFsdWUiLCJmbG9vciIsImpzb25fYXJyYXkiLCJqc29uX2FycmF5YWdnIiwianNvbl9leGlzdHMiLCJqc29uX29iamVjdCIsImpzb25fb2JqZWN0YWdnIiwianNvbl9xdWVyeSIsImpzb25fdGFibGUiLCJqc29uX3RhYmxlX3ByaW1pdGl2ZSIsImpzb25fdmFsdWUiLCJsYWciLCJsYXN0X3ZhbHVlIiwibGVhZCIsImxpc3RhZ2ciLCJsbiIsImxvZyIsImxvZzEwIiwibG93ZXIiLCJtYXgiLCJtaW4iLCJtb2QiLCJudGhfdmFsdWUiLCJudGlsZSIsIm51bGxpZiIsInBlcmNlbnRfcmFuayIsInBlcmNlbnRpbGVfY29udCIsInBlcmNlbnRpbGVfZGlzYyIsInBvc2l0aW9uIiwicG9zaXRpb25fcmVnZXgiLCJwb3dlciIsInJhbmsiLCJyZWdyX2F2Z3giLCJyZWdyX2F2Z3kiLCJyZWdyX2NvdW50IiwicmVncl9pbnRlcmNlcHQiLCJyZWdyX3IyIiwicmVncl9zbG9wZSIsInJlZ3Jfc3h4IiwicmVncl9zeHkiLCJyZWdyX3N5eSIsInJvd19udW1iZXIiLCJzaW4iLCJzaW5oIiwic3FydCIsInN0ZGRldl9wb3AiLCJzdGRkZXZfc2FtcCIsInN1YnN0cmluZyIsInN1YnN0cmluZ19yZWdleCIsInN1bSIsInRhbiIsInRhbmgiLCJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGVfcmVnZXgiLCJ0cmVhdCIsInRyaW0iLCJ0cmltX2FycmF5IiwidW5uZXN0IiwidXBwZXIiLCJ2YWx1ZV9vZiIsInZhcl9wb3AiLCJ2YXJfc2FtcCIsIndpZHRoX2J1Y2tldCJdLG89WyJjcmVhdGUgdGFibGUiLCJpbnNlcnQgaW50byIsInByaW1hcnkga2V5IiwiZm9yZWlnbiBrZXkiLCJub3QgbnVsbCIsImFsdGVyIHRhYmxlIiwiYWRkIGNvbnN0cmFpbnQiLCJncm91cGluZyBzZXRzIiwib24gb3ZlcmZsb3ciLCJjaGFyYWN0ZXIgc2V0IiwicmVzcGVjdCBudWxscyIsImlnbm9yZSBudWxscyIsIm51bGxzIGZpcnN0IiwibnVsbHMgbGFzdCIsImRlcHRoIGZpcnN0IiwiYnJlYWR0aCBmaXJzdCJdLGM9cyxsPVsiYWJzIiwiYWNvcyIsImFsbCIsImFsbG9jYXRlIiwiYWx0ZXIiLCJhbmQiLCJhbnkiLCJhcmUiLCJhcnJheSIsImFycmF5X2FnZyIsImFycmF5X21heF9jYXJkaW5hbGl0eSIsImFzIiwiYXNlbnNpdGl2ZSIsImFzaW4iLCJhc3ltbWV0cmljIiwiYXQiLCJhdGFuIiwiYXRvbWljIiwiYXV0aG9yaXphdGlvbiIsImF2ZyIsImJlZ2luIiwiYmVnaW5fZnJhbWUiLCJiZWdpbl9wYXJ0aXRpb24iLCJiZXR3ZWVuIiwiYmlnaW50IiwiYmluYXJ5IiwiYmxvYiIsImJvb2xlYW4iLCJib3RoIiwiYnkiLCJjYWxsIiwiY2FsbGVkIiwiY2FyZGluYWxpdHkiLCJjYXNjYWRlZCIsImNhc2UiLCJjYXN0IiwiY2VpbCIsImNlaWxpbmciLCJjaGFyIiwiY2hhcl9sZW5ndGgiLCJjaGFyYWN0ZXIiLCJjaGFyYWN0ZXJfbGVuZ3RoIiwiY2hlY2siLCJjbGFzc2lmaWVyIiwiY2xvYiIsImNsb3NlIiwiY29hbGVzY2UiLCJjb2xsYXRlIiwiY29sbGVjdCIsImNvbHVtbiIsImNvbW1pdCIsImNvbmRpdGlvbiIsImNvbm5lY3QiLCJjb25zdHJhaW50IiwiY29udGFpbnMiLCJjb252ZXJ0IiwiY29weSIsImNvcnIiLCJjb3JyZXNwb25kaW5nIiwiY29zIiwiY29zaCIsImNvdW50IiwiY292YXJfcG9wIiwiY292YXJfc2FtcCIsImNyZWF0ZSIsImNyb3NzIiwiY3ViZSIsImN1bWVfZGlzdCIsImN1cnJlbnQiLCJjdXJyZW50X2NhdGFsb2ciLCJjdXJyZW50X2RhdGUiLCJjdXJyZW50X2RlZmF1bHRfdHJhbnNmb3JtX2dyb3VwIiwiY3VycmVudF9wYXRoIiwiY3VycmVudF9yb2xlIiwiY3VycmVudF9yb3ciLCJjdXJyZW50X3NjaGVtYSIsImN1cnJlbnRfdGltZSIsImN1cnJlbnRfdGltZXN0YW1wIiwiY3VycmVudF9wYXRoIiwiY3VycmVudF9yb2xlIiwiY3VycmVudF90cmFuc2Zvcm1fZ3JvdXBfZm9yX3R5cGUiLCJjdXJyZW50X3VzZXIiLCJjdXJzb3IiLCJjeWNsZSIsImRhdGUiLCJkYXkiLCJkZWFsbG9jYXRlIiwiZGVjIiwiZGVjaW1hbCIsImRlY2Zsb2F0IiwiZGVjbGFyZSIsImRlZmF1bHQiLCJkZWZpbmUiLCJkZWxldGUiLCJkZW5zZV9yYW5rIiwiZGVyZWYiLCJkZXNjcmliZSIsImRldGVybWluaXN0aWMiLCJkaXNjb25uZWN0IiwiZGlzdGluY3QiLCJkb3VibGUiLCJkcm9wIiwiZHluYW1pYyIsImVhY2giLCJlbGVtZW50IiwiZWxzZSIsImVtcHR5IiwiZW5kIiwiZW5kX2ZyYW1lIiwiZW5kX3BhcnRpdGlvbiIsImVuZC1leGVjIiwiZXF1YWxzIiwiZXNjYXBlIiwiZXZlcnkiLCJleGNlcHQiLCJleGVjIiwiZXhlY3V0ZSIsImV4aXN0cyIsImV4cCIsImV4dGVybmFsIiwiZXh0cmFjdCIsImZhbHNlIiwiZmV0Y2giLCJmaWx0ZXIiLCJmaXJzdF92YWx1ZSIsImZsb2F0IiwiZmxvb3IiLCJmb3IiLCJmb3JlaWduIiwiZnJhbWVfcm93IiwiZnJlZSIsImZyb20iLCJmdWxsIiwiZnVuY3Rpb24iLCJmdXNpb24iLCJnZXQiLCJnbG9iYWwiLCJncmFudCIsImdyb3VwIiwiZ3JvdXBpbmciLCJncm91cHMiLCJoYXZpbmciLCJob2xkIiwiaG91ciIsImlkZW50aXR5IiwiaW4iLCJpbmRpY2F0b3IiLCJpbml0aWFsIiwiaW5uZXIiLCJpbm91dCIsImluc2Vuc2l0aXZlIiwiaW5zZXJ0IiwiaW50IiwiaW50ZWdlciIsImludGVyc2VjdCIsImludGVyc2VjdGlvbiIsImludGVydmFsIiwiaW50byIsImlzIiwiam9pbiIsImpzb25fYXJyYXkiLCJqc29uX2FycmF5YWdnIiwianNvbl9leGlzdHMiLCJqc29uX29iamVjdCIsImpzb25fb2JqZWN0YWdnIiwianNvbl9xdWVyeSIsImpzb25fdGFibGUiLCJqc29uX3RhYmxlX3ByaW1pdGl2ZSIsImpzb25fdmFsdWUiLCJsYWciLCJsYW5ndWFnZSIsImxhcmdlIiwibGFzdF92YWx1ZSIsImxhdGVyYWwiLCJsZWFkIiwibGVhZGluZyIsImxlZnQiLCJsaWtlIiwibGlrZV9yZWdleCIsImxpc3RhZ2ciLCJsbiIsImxvY2FsIiwibG9jYWx0aW1lIiwibG9jYWx0aW1lc3RhbXAiLCJsb2ciLCJsb2cxMCIsImxvd2VyIiwibWF0Y2giLCJtYXRjaF9udW1iZXIiLCJtYXRjaF9yZWNvZ25pemUiLCJtYXRjaGVzIiwibWF4IiwibWVtYmVyIiwibWVyZ2UiLCJtZXRob2QiLCJtaW4iLCJtaW51dGUiLCJtb2QiLCJtb2RpZmllcyIsIm1vZHVsZSIsIm1vbnRoIiwibXVsdGlzZXQiLCJuYXRpb25hbCIsIm5hdHVyYWwiLCJuY2hhciIsIm5jbG9iIiwibmV3Iiwibm8iLCJub25lIiwibm9ybWFsaXplIiwibm90IiwibnRoX3ZhbHVlIiwibnRpbGUiLCJudWxsIiwibnVsbGlmIiwibnVtZXJpYyIsIm9jdGV0X2xlbmd0aCIsIm9jY3VycmVuY2VzX3JlZ2V4Iiwib2YiLCJvZmZzZXQiLCJvbGQiLCJvbWl0Iiwib24iLCJvbmUiLCJvbmx5Iiwib3BlbiIsIm9yIiwib3JkZXIiLCJvdXQiLCJvdXRlciIsIm92ZXIiLCJvdmVybGFwcyIsIm92ZXJsYXkiLCJwYXJhbWV0ZXIiLCJwYXJ0aXRpb24iLCJwYXR0ZXJuIiwicGVyIiwicGVyY2VudCIsInBlcmNlbnRfcmFuayIsInBlcmNlbnRpbGVfY29udCIsInBlcmNlbnRpbGVfZGlzYyIsInBlcmlvZCIsInBvcnRpb24iLCJwb3NpdGlvbiIsInBvc2l0aW9uX3JlZ2V4IiwicG93ZXIiLCJwcmVjZWRlcyIsInByZWNpc2lvbiIsInByZXBhcmUiLCJwcmltYXJ5IiwicHJvY2VkdXJlIiwicHRmIiwicmFuZ2UiLCJyYW5rIiwicmVhZHMiLCJyZWFsIiwicmVjdXJzaXZlIiwicmVmIiwicmVmZXJlbmNlcyIsInJlZmVyZW5jaW5nIiwicmVncl9hdmd4IiwicmVncl9hdmd5IiwicmVncl9jb3VudCIsInJlZ3JfaW50ZXJjZXB0IiwicmVncl9yMiIsInJlZ3Jfc2xvcGUiLCJyZWdyX3N4eCIsInJlZ3Jfc3h5IiwicmVncl9zeXkiLCJyZWxlYXNlIiwicmVzdWx0IiwicmV0dXJuIiwicmV0dXJucyIsInJldm9rZSIsInJpZ2h0Iiwicm9sbGJhY2siLCJyb2xsdXAiLCJyb3ciLCJyb3dfbnVtYmVyIiwicm93cyIsInJ1bm5pbmciLCJzYXZlcG9pbnQiLCJzY29wZSIsInNjcm9sbCIsInNlYXJjaCIsInNlY29uZCIsInNlZWsiLCJzZWxlY3QiLCJzZW5zaXRpdmUiLCJzZXNzaW9uX3VzZXIiLCJzZXQiLCJzaG93Iiwic2ltaWxhciIsInNpbiIsInNpbmgiLCJza2lwIiwic21hbGxpbnQiLCJzb21lIiwic3BlY2lmaWMiLCJzcGVjaWZpY3R5cGUiLCJzcWwiLCJzcWxleGNlcHRpb24iLCJzcWxzdGF0ZSIsInNxbHdhcm5pbmciLCJzcXJ0Iiwic3RhcnQiLCJzdGF0aWMiLCJzdGRkZXZfcG9wIiwic3RkZGV2X3NhbXAiLCJzdWJtdWx0aXNldCIsInN1YnNldCIsInN1YnN0cmluZyIsInN1YnN0cmluZ19yZWdleCIsInN1Y2NlZWRzIiwic3VtIiwic3ltbWV0cmljIiwic3lzdGVtIiwic3lzdGVtX3RpbWUiLCJzeXN0ZW1fdXNlciIsInRhYmxlIiwidGFibGVzYW1wbGUiLCJ0YW4iLCJ0YW5oIiwidGhlbiIsInRpbWUiLCJ0aW1lc3RhbXAiLCJ0aW1lem9uZV9ob3VyIiwidGltZXpvbmVfbWludXRlIiwidG8iLCJ0cmFpbGluZyIsInRyYW5zbGF0ZSIsInRyYW5zbGF0ZV9yZWdleCIsInRyYW5zbGF0aW9uIiwidHJlYXQiLCJ0cmlnZ2VyIiwidHJpbSIsInRyaW1fYXJyYXkiLCJ0cnVlIiwidHJ1bmNhdGUiLCJ1ZXNjYXBlIiwidW5pb24iLCJ1bmlxdWUiLCJ1bmtub3duIiwidW5uZXN0IiwidXBkYXRlICAgIiwidXBwZXIiLCJ1c2VyIiwidXNpbmciLCJ2YWx1ZSIsInZhbHVlcyIsInZhbHVlX29mIiwidmFyX3BvcCIsInZhcl9zYW1wIiwidmFyYmluYXJ5IiwidmFyY2hhciIsInZhcnlpbmciLCJ2ZXJzaW9uaW5nIiwid2hlbiIsIndoZW5ldmVyIiwid2hlcmUiLCJ3aWR0aF9idWNrZXQiLCJ3aW5kb3ciLCJ3aXRoIiwid2l0aGluIiwid2l0aG91dCIsInllYXIiLCJhZGQiLCJhc2MiLCJjb2xsYXRpb24iLCJkZXNjIiwiZmluYWwiLCJmaXJzdCIsImxhc3QiLCJ2aWV3Il0uZmlsdGVyKChlPT4hcy5pbmNsdWRlcyhlKSkpLHU9ewpiZWdpbjpyKC9cYi8sdCguLi5jKSwvXHMqXCgvKSxrZXl3b3Jkczp7YnVpbHRfaW46Yy5qb2luKCIgIil9fTtyZXR1cm57Cm5hbWU6IlNRTCIsY2FzZV9pbnNlbnNpdGl2ZTohMCxpbGxlZ2FsOi9be31dfDxcLy8sa2V5d29yZHM6ewokcGF0dGVybjovXGJbXHdcLl0rLyxrZXl3b3JkOigoZSx7ZXhjZXB0aW9uczpyLHdoZW46dH09e30pPT57Y29uc3Qgbj10CjtyZXR1cm4gcj1yfHxbXSxlLm1hcCgoZT0+ZS5tYXRjaCgvXHxcZCskLyl8fHIuaW5jbHVkZXMoZSk/ZTpuKGUpP2UrInwwIjplKSkKfSkobCx7d2hlbjplPT5lLmxlbmd0aDwzfSkuam9pbigiICIpLGxpdGVyYWw6YS5qb2luKCIgIiksdHlwZTppLmpvaW4oIiAiKSwKYnVpbHRfaW46ImN1cnJlbnRfY2F0YWxvZyBjdXJyZW50X2RhdGUgY3VycmVudF9kZWZhdWx0X3RyYW5zZm9ybV9ncm91cCBjdXJyZW50X3BhdGggY3VycmVudF9yb2xlIGN1cnJlbnRfc2NoZW1hIGN1cnJlbnRfdHJhbnNmb3JtX2dyb3VwX2Zvcl90eXBlIGN1cnJlbnRfdXNlciBzZXNzaW9uX3VzZXIgc3lzdGVtX3RpbWUgc3lzdGVtX3VzZXIgY3VycmVudF90aW1lIGxvY2FsdGltZSBjdXJyZW50X3RpbWVzdGFtcCBsb2NhbHRpbWVzdGFtcCIKfSxjb250YWluczpbe2JlZ2luOnQoLi4ubyksa2V5d29yZHM6eyRwYXR0ZXJuOi9bXHdcLl0rLywKa2V5d29yZDpsLmNvbmNhdChvKS5qb2luKCIgIiksbGl0ZXJhbDphLmpvaW4oIiAiKSx0eXBlOmkuam9pbigiICIpfX0sewpjbGFzc05hbWU6InR5cGUiLApiZWdpbjp0KCJkb3VibGUgcHJlY2lzaW9uIiwibGFyZ2Ugb2JqZWN0Iiwid2l0aCB0aW1lem9uZSIsIndpdGhvdXQgdGltZXpvbmUiKQp9LHUse2NsYXNzTmFtZToidmFyaWFibGUiLGJlZ2luOi9AW2EtejAtOV0rL30se2NsYXNzTmFtZToic3RyaW5nIix2YXJpYW50czpbewpiZWdpbjovJy8sZW5kOi8nLyxjb250YWluczpbe2JlZ2luOi8nJy99XX1dfSx7YmVnaW46LyIvLGVuZDovIi8sY29udGFpbnM6W3sKYmVnaW46LyIiL31dfSxlLkNfTlVNQkVSX01PREUsZS5DX0JMT0NLX0NPTU1FTlRfTU9ERSxuLHtjbGFzc05hbWU6Im9wZXJhdG9yIiwKYmVnaW46L1stKyovPSVefl18JiY/fFx8XHw/fCE9P3w8KD86PT4/fDx8Pik/fD5bPj1dPy8scmVsZXZhbmNlOjB9XX19fSkoKSk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgic3dpZnQiLCgoKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKGUpewpyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9mIGU/ZTplLnNvdXJjZTpudWxsfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIGkoIig/PSIsZSwiKSIpfQpmdW5jdGlvbiBpKC4uLm4pe3JldHVybiBuLm1hcCgobj0+ZShuKSkpLmpvaW4oIiIpfWZ1bmN0aW9uIGEoLi4ubil7CnJldHVybiIoIituLm1hcCgobj0+ZShuKSkpLmpvaW4oInwiKSsiKSJ9CmNvbnN0IHQ9ZT0+aSgvXGIvLGUsL1x3JC8udGVzdChlKT8vXGIvOi9cQi8pLHU9WyJQcm90b2NvbCIsIlR5cGUiXS5tYXAodCkscz1bImluaXQiLCJzZWxmIl0ubWFwKHQpLHI9WyJBbnkiLCJTZWxmIl0sbz1bImFzc29jaWF0ZWR0eXBlIiwvYXNcPy8sL2FzIS8sImFzIiwiYnJlYWsiLCJjYXNlIiwiY2F0Y2giLCJjbGFzcyIsImNvbnRpbnVlIiwiY29udmVuaWVuY2UiLCJkZWZhdWx0IiwiZGVmZXIiLCJkZWluaXQiLCJkaWRTZXQiLCJkbyIsImR5bmFtaWMiLCJlbHNlIiwiZW51bSIsImV4dGVuc2lvbiIsImZhbGx0aHJvdWdoIiwiZmlsZXByaXZhdGUoc2V0KSIsImZpbGVwcml2YXRlIiwiZmluYWwiLCJmb3IiLCJmdW5jIiwiZ2V0IiwiZ3VhcmQiLCJpZiIsImltcG9ydCIsImluZGlyZWN0IiwiaW5maXgiLC9pbml0XD8vLC9pbml0IS8sImlub3V0IiwiaW50ZXJuYWwoc2V0KSIsImludGVybmFsIiwiaW4iLCJpcyIsImxhenkiLCJsZXQiLCJtdXRhdGluZyIsIm5vbm11dGF0aW5nIiwib3BlbihzZXQpIiwib3BlbiIsIm9wZXJhdG9yIiwib3B0aW9uYWwiLCJvdmVycmlkZSIsInBvc3RmaXgiLCJwcmVjZWRlbmNlZ3JvdXAiLCJwcmVmaXgiLCJwcml2YXRlKHNldCkiLCJwcml2YXRlIiwicHJvdG9jb2wiLCJwdWJsaWMoc2V0KSIsInB1YmxpYyIsInJlcGVhdCIsInJlcXVpcmVkIiwicmV0aHJvd3MiLCJyZXR1cm4iLCJzZXQiLCJzb21lIiwic3RhdGljIiwic3RydWN0Iiwic3Vic2NyaXB0Iiwic3VwZXIiLCJzd2l0Y2giLCJ0aHJvd3MiLCJ0aHJvdyIsL3RyeVw/LywvdHJ5IS8sInRyeSIsInR5cGVhbGlhcyIsInVub3duZWQoc2FmZSkiLCJ1bm93bmVkKHVuc2FmZSkiLCJ1bm93bmVkIiwidmFyIiwid2VhayIsIndoZXJlIiwid2hpbGUiLCJ3aWxsU2V0Il0sbD1bImZhbHNlIiwibmlsIiwidHJ1ZSJdLGM9WyIjY29sb3JMaXRlcmFsIiwiI2NvbHVtbiIsIiNkc29oYW5kbGUiLCIjZWxzZSIsIiNlbHNlaWYiLCIjZW5kaWYiLCIjZXJyb3IiLCIjZmlsZSIsIiNmaWxlSUQiLCIjZmlsZUxpdGVyYWwiLCIjZmlsZVBhdGgiLCIjZnVuY3Rpb24iLCIjaWYiLCIjaW1hZ2VMaXRlcmFsIiwiI2tleVBhdGgiLCIjbGluZSIsIiNzZWxlY3RvciIsIiNzb3VyY2VMb2NhdGlvbiIsIiN3YXJuX3VucXVhbGlmaWVkX2FjY2VzcyIsIiN3YXJuaW5nIl0sYj1bImFicyIsImFsbCIsImFueSIsImFzc2VydCIsImFzc2VydGlvbkZhaWx1cmUiLCJkZWJ1Z1ByaW50IiwiZHVtcCIsImZhdGFsRXJyb3IiLCJnZXRWYUxpc3QiLCJpc0tub3duVW5pcXVlbHlSZWZlcmVuY2VkIiwibWF4IiwibWluIiwibnVtZXJpY0Nhc3QiLCJwb2ludHdpc2VNYXgiLCJwb2ludHdpc2VNaW4iLCJwcmVjb25kaXRpb24iLCJwcmVjb25kaXRpb25GYWlsdXJlIiwicHJpbnQiLCJyZWFkTGluZSIsInJlcGVhdEVsZW1lbnQiLCJzZXF1ZW5jZSIsInN0cmlkZSIsInN3YXAiLCJzd2lmdF91bmJveEZyb21Td2lmdFZhbHVlV2l0aFR5cGUiLCJ0cmFuc2NvZGUiLCJ0eXBlIiwidW5zYWZlQml0Q2FzdCIsInVuc2FmZURvd25jYXN0Iiwid2l0aEV4dGVuZGVkTGlmZXRpbWUiLCJ3aXRoVW5zYWZlTXV0YWJsZVBvaW50ZXIiLCJ3aXRoVW5zYWZlUG9pbnRlciIsIndpdGhWYUxpc3QiLCJ3aXRob3V0QWN0dWFsbHlFc2NhcGluZyIsInppcCJdLHA9YSgvWy89XC0rISolPD4mfF5+P10vLC9bXHUwMEExLVx1MDBBN10vLC9bXHUwMEE5XHUwMEFCXS8sL1tcdTAwQUNcdTAwQUVdLywvW1x1MDBCMFx1MDBCMV0vLC9bXHUwMEI2XHUwMEJCXHUwMEJGXHUwMEQ3XHUwMEY3XS8sL1tcdTIwMTYtXHUyMDE3XS8sL1tcdTIwMjAtXHUyMDI3XS8sL1tcdTIwMzAtXHUyMDNFXS8sL1tcdTIwNDEtXHUyMDUzXS8sL1tcdTIwNTUtXHUyMDVFXS8sL1tcdTIxOTAtXHUyM0ZGXS8sL1tcdTI1MDAtXHUyNzc1XS8sL1tcdTI3OTQtXHUyQkZGXS8sL1tcdTJFMDAtXHUyRTdGXS8sL1tcdTMwMDEtXHUzMDAzXS8sL1tcdTMwMDgtXHUzMDIwXS8sL1tcdTMwMzBdLyksRj1hKHAsL1tcdTAzMDAtXHUwMzZGXS8sL1tcdTFEQzAtXHUxREZGXS8sL1tcdTIwRDAtXHUyMEZGXS8sL1tcdUZFMDAtXHVGRTBGXS8sL1tcdUZFMjAtXHVGRTJGXS8pLGQ9aShwLEYsIioiKSxnPWEoL1thLXpBLVpfXS8sL1tcdTAwQThcdTAwQUFcdTAwQURcdTAwQUZcdTAwQjItXHUwMEI1XHUwMEI3LVx1MDBCQV0vLC9bXHUwMEJDLVx1MDBCRVx1MDBDMC1cdTAwRDZcdTAwRDgtXHUwMEY2XHUwMEY4LVx1MDBGRl0vLC9bXHUwMTAwLVx1MDJGRlx1MDM3MC1cdTE2N0ZcdTE2ODEtXHUxODBEXHUxODBGLVx1MURCRl0vLC9bXHUxRTAwLVx1MUZGRl0vLC9bXHUyMDBCLVx1MjAwRFx1MjAyQS1cdTIwMkVcdTIwM0YtXHUyMDQwXHUyMDU0XHUyMDYwLVx1MjA2Rl0vLC9bXHUyMDcwLVx1MjBDRlx1MjEwMC1cdTIxOEZcdTI0NjAtXHUyNEZGXHUyNzc2LVx1Mjc5M10vLC9bXHUyQzAwLVx1MkRGRlx1MkU4MC1cdTJGRkZdLywvW1x1MzAwNC1cdTMwMDdcdTMwMjEtXHUzMDJGXHUzMDMxLVx1MzAzRlx1MzA0MC1cdUQ3RkZdLywvW1x1RjkwMC1cdUZEM0RcdUZENDAtXHVGRENGXHVGREYwLVx1RkUxRlx1RkUzMC1cdUZFNDRdLywvW1x1RkU0Ny1cdUZGRkRdLyksZj1hKGcsL1xkLywvW1x1MDMwMC1cdTAzNkZcdTFEQzAtXHUxREZGXHUyMEQwLVx1MjBGRlx1RkUyMC1cdUZFMkZdLyksbT1pKGcsZiwiKiIpLHc9aSgvW0EtWl0vLGYsIioiKSxFPVsiYXV0b2Nsb3N1cmUiLGkoL2NvbnZlbnRpb25cKC8sYSgic3dpZnQiLCJibG9jayIsImMiKSwvXCkvKSwiZGlzY2FyZGFibGVSZXN1bHQiLCJkeW5hbWljQ2FsbGFibGUiLCJkeW5hbWljTWVtYmVyTG9va3VwIiwiZXNjYXBpbmciLCJmcm96ZW4iLCJHS0luc3BlY3RhYmxlIiwiSUJBY3Rpb24iLCJJQkRlc2lnbmFibGUiLCJJQkluc3BlY3RhYmxlIiwiSUJPdXRsZXQiLCJJQlNlZ3VlQWN0aW9uIiwiaW5saW5hYmxlIiwibWFpbiIsIm5vbm9iamMiLCJOU0FwcGxpY2F0aW9uTWFpbiIsIk5TQ29weWluZyIsIk5TTWFuYWdlZCIsaSgvb2JqY1woLyxtLC9cKS8pLCJvYmpjIiwib2JqY01lbWJlcnMiLCJwcm9wZXJ0eVdyYXBwZXIiLCJyZXF1aXJlc19zdG9yZWRfcHJvcGVydHlfaW5pdHMiLCJ0ZXN0YWJsZSIsIlVJQXBwbGljYXRpb25NYWluIiwidW5rbm93biIsInVzYWJsZUZyb21JbmxpbmUiXSx5PVsiaU9TIiwiaU9TQXBwbGljYXRpb25FeHRlbnNpb24iLCJtYWNPUyIsIm1hY09TQXBwbGljYXRpb25FeHRlbnNpb24iLCJtYWNDYXRhbHlzdCIsIm1hY0NhdGFseXN0QXBwbGljYXRpb25FeHRlbnNpb24iLCJ3YXRjaE9TIiwid2F0Y2hPU0FwcGxpY2F0aW9uRXh0ZW5zaW9uIiwidHZPUyIsInR2T1NBcHBsaWNhdGlvbkV4dGVuc2lvbiIsInN3aWZ0Il0KO3JldHVybiBlPT57Y29uc3QgcD1lLkNPTU1FTlQoIi9cXCoiLCJcXCovIix7Y29udGFpbnM6WyJzZWxmIl19KSxnPXsKY2xhc3NOYW1lOiJrZXl3b3JkIixiZWdpbjppKC9cLi8sbihhKC4uLnUsLi4ucykpKSxlbmQ6YSguLi51LC4uLnMpLApleGNsdWRlQmVnaW46ITB9LEE9e2JlZ2luOmkoL1wuLyxhKC4uLm8pKSxyZWxldmFuY2U6MAp9LEM9by5maWx0ZXIoKGU9PiJzdHJpbmciPT10eXBlb2YgZSkpLmNvbmNhdChbIl98MCJdKSx2PXt2YXJpYW50czpbewpjbGFzc05hbWU6ImtleXdvcmQiLApiZWdpbjphKC4uLm8uZmlsdGVyKChlPT4ic3RyaW5nIiE9dHlwZW9mIGUpKS5jb25jYXQocikubWFwKHQpLC4uLnMpfV19LF89ewokcGF0dGVybjphKC9cYlx3KyhcKFx3K1wpKT8vLC8jXHcrLyksa2V5d29yZDpDLmNvbmNhdChjKS5qb2luKCIgIiksCmxpdGVyYWw6bC5qb2luKCIgIil9LE49W2csQSx2XSxEPVt7YmVnaW46aSgvXC4vLGEoLi4uYikpLHJlbGV2YW5jZTowfSx7CmNsYXNzTmFtZToiYnVpbHRfaW4iLGJlZ2luOmkoL1xiLyxhKC4uLmIpLC8oPz1cKCkvKX1dLEI9e2JlZ2luOi8tPi8scmVsZXZhbmNlOjAKfSxNPVtCLHtjbGFzc05hbWU6Im9wZXJhdG9yIixyZWxldmFuY2U6MCx2YXJpYW50czpbe2JlZ2luOmR9LHsKYmVnaW46YFxcLihcXC58JHtGfSkrYH1dfV0saD0iKFswLTlhLWZBLUZdXyopKyIsUz17Y2xhc3NOYW1lOiJudW1iZXIiLApyZWxldmFuY2U6MCx2YXJpYW50czpbewpiZWdpbjoiXFxiKChbMC05XV8qKSspKFxcLigoWzAtOV1fKikrKSk/KFtlRV1bKy1dPygoWzAtOV1fKikrKSk/XFxiIn0sewpiZWdpbjpgXFxiMHgoJHtofSkoXFwuKCR7aH0pKT8oW3BQXVsrLV0/KChbMC05XV8qKSspKT9cXGJgfSx7CmJlZ2luOi9cYjBvKFswLTddXyopK1xiL30se2JlZ2luOi9cYjBiKFswMV1fKikrXGIvfV19LE89KGU9IiIpPT4oewpjbGFzc05hbWU6InN1YnN0Iix2YXJpYW50czpbe2JlZ2luOmkoL1xcLyxlLC9bMFxcdG5yIiddLyl9LHsKYmVnaW46aSgvXFwvLGUsL3Vce1swLTlhLWZBLUZdezEsOH1cfS8pfV19KSx4PShlPSIiKT0+KHtjbGFzc05hbWU6InN1YnN0IiwKYmVnaW46aSgvXFwvLGUsL1tcdCBdKig/OltcclxuXXxcclxuKS8pfSksaz0oZT0iIik9Pih7Y2xhc3NOYW1lOiJzdWJzdCIsCmxhYmVsOiJpbnRlcnBvbCIsYmVnaW46aSgvXFwvLGUsL1woLyksZW5kOi9cKS99KSxMPShlPSIiKT0+KHtiZWdpbjppKGUsLyIiIi8pLAplbmQ6aSgvIiIiLyxlKSxjb250YWluczpbTyhlKSx4KGUpLGsoZSldfSksST0oZT0iIik9Pih7YmVnaW46aShlLC8iLyksCmVuZDppKC8iLyxlKSxjb250YWluczpbTyhlKSxrKGUpXX0pLCQ9e2NsYXNzTmFtZToic3RyaW5nIiwKdmFyaWFudHM6W0woKSxMKCIjIiksTCgiIyMiKSxMKCIjIyMiKSxJKCksSSgiIyIpLEkoIiMjIiksSSgiIyMjIildfSxUPVt7CmJlZ2luOmkoL2AvLG0sL2AvKX0se2NsYXNzTmFtZToidmFyaWFibGUiLGJlZ2luOi9cJFxkKy99LHtjbGFzc05hbWU6InZhcmlhYmxlIiwKYmVnaW46YFxcJCR7Zn0rYH1dLGo9W3tiZWdpbjovKEB8IylhdmFpbGFibGVcKC8sZW5kOi9cKS8sa2V5d29yZHM6ewokcGF0dGVybjovW0AjXT9cdysvLGtleXdvcmQ6eS5jb25jYXQoWyJAYXZhaWxhYmxlIiwiI2F2YWlsYWJsZSJdKS5qb2luKCIgIil9LApjb250YWluczpbLi4uTSxTLCRdfSx7Y2xhc3NOYW1lOiJrZXl3b3JkIixiZWdpbjppKC9ALyxhKC4uLkUpKX0sewpjbGFzc05hbWU6Im1ldGEiLGJlZ2luOmkoL0AvLG0pfV0sSz17YmVnaW46bigvXGJbQS1aXS8pLHJlbGV2YW5jZTowLGNvbnRhaW5zOlt7CmNsYXNzTmFtZToidHlwZSIsCmJlZ2luOmkoLyhBVnxDQXxDRnxDR3xDSXxDTHxDTXxDTnxDVHxNS3xNUHxNVEt8TVRMfE5TfFNDTnxTS3xVSXxXS3xYQykvLGYsIisiKQp9LHtjbGFzc05hbWU6InR5cGUiLGJlZ2luOncscmVsZXZhbmNlOjB9LHtiZWdpbjovWz8hXSsvLHJlbGV2YW5jZTowfSx7CmJlZ2luOi9cLlwuXC4vLHJlbGV2YW5jZTowfSx7YmVnaW46aSgvXHMrJlxzKy8sbih3KSkscmVsZXZhbmNlOjB9XX0sUD17CmJlZ2luOi88LyxlbmQ6Lz4vLGtleXdvcmRzOl8sY29udGFpbnM6Wy4uLk4sLi4uaixCLEtdfTtLLmNvbnRhaW5zLnB1c2goUCkKO2Zvcihjb25zdCBlIG9mICQudmFyaWFudHMpe2NvbnN0IG49ZS5jb250YWlucy5maW5kKChlPT4iaW50ZXJwb2wiPT09ZS5sYWJlbCkpCjtuLmtleXdvcmRzPV87Y29uc3QgaT1bLi4uTiwuLi5ELC4uLk0sUywkLC4uLlRdO24uY29udGFpbnM9Wy4uLmkse2JlZ2luOi9cKC8sCmVuZDovXCkvLGNvbnRhaW5zOlsic2VsZiIsLi4uaV19XX1yZXR1cm57bmFtZToiU3dpZnQiLGtleXdvcmRzOl8sCmNvbnRhaW5zOltlLkNfTElORV9DT01NRU5UX01PREUscCx7Y2xhc3NOYW1lOiJmdW5jdGlvbiIsYmVnaW5LZXl3b3JkczoiZnVuYyIsCmVuZDovXHsvLGV4Y2x1ZGVFbmQ6ITAsY29udGFpbnM6W2UuaW5oZXJpdChlLlRJVExFX01PREUsewpiZWdpbjovW0EtWmEteiRfXVswLTlBLVphLXokX10qL30pLHtiZWdpbjovPC8sZW5kOi8+L30se2NsYXNzTmFtZToicGFyYW1zIiwKYmVnaW46L1woLyxlbmQ6L1wpLyxlbmRzUGFyZW50OiEwLGtleXdvcmRzOl8sCmNvbnRhaW5zOlsic2VsZiIsLi4uTixTLCQsZS5DX0JMT0NLX0NPTU1FTlRfTU9ERSx7YmVnaW46IjoifV0saWxsZWdhbDovWyInXS99XSwKaWxsZWdhbDovXFt8JS99LHtjbGFzc05hbWU6ImNsYXNzIiwKYmVnaW5LZXl3b3Jkczoic3RydWN0IHByb3RvY29sIGNsYXNzIGV4dGVuc2lvbiBlbnVtIixlbmQ6IlxceyIsZXhjbHVkZUVuZDohMCwKa2V5d29yZHM6Xyxjb250YWluczpbZS5pbmhlcml0KGUuVElUTEVfTU9ERSx7CmJlZ2luOi9bQS1aYS16JF9dW1x1MDBDMC1cdTAyQjgwLTlBLVphLXokX10qL30pLC4uLk5dfSx7YmVnaW5LZXl3b3JkczoiaW1wb3J0IiwKZW5kOi8kLyxjb250YWluczpbZS5DX0xJTkVfQ09NTUVOVF9NT0RFLHBdLHJlbGV2YW5jZTowCn0sLi4uTiwuLi5ELC4uLk0sUywkLC4uLlQsLi4uaixLXX19fSkoKSk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgidHlwZXNjcmlwdCIsKCgpPT57InVzZSBzdHJpY3QiCjtjb25zdCBlPSJbQS1aYS16JF9dWzAtOUEtWmEteiRfXSoiLG49WyJhcyIsImluIiwib2YiLCJpZiIsImZvciIsIndoaWxlIiwiZmluYWxseSIsInZhciIsIm5ldyIsImZ1bmN0aW9uIiwiZG8iLCJyZXR1cm4iLCJ2b2lkIiwiZWxzZSIsImJyZWFrIiwiY2F0Y2giLCJpbnN0YW5jZW9mIiwid2l0aCIsInRocm93IiwiY2FzZSIsImRlZmF1bHQiLCJ0cnkiLCJzd2l0Y2giLCJjb250aW51ZSIsInR5cGVvZiIsImRlbGV0ZSIsImxldCIsInlpZWxkIiwiY29uc3QiLCJjbGFzcyIsImRlYnVnZ2VyIiwiYXN5bmMiLCJhd2FpdCIsInN0YXRpYyIsImltcG9ydCIsImZyb20iLCJleHBvcnQiLCJleHRlbmRzIl0sYT1bInRydWUiLCJmYWxzZSIsIm51bGwiLCJ1bmRlZmluZWQiLCJOYU4iLCJJbmZpbml0eSJdLHM9W10uY29uY2F0KFsic2V0SW50ZXJ2YWwiLCJzZXRUaW1lb3V0IiwiY2xlYXJJbnRlcnZhbCIsImNsZWFyVGltZW91dCIsInJlcXVpcmUiLCJleHBvcnRzIiwiZXZhbCIsImlzRmluaXRlIiwiaXNOYU4iLCJwYXJzZUZsb2F0IiwicGFyc2VJbnQiLCJkZWNvZGVVUkkiLCJkZWNvZGVVUklDb21wb25lbnQiLCJlbmNvZGVVUkkiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlc2NhcGUiLCJ1bmVzY2FwZSJdLFsiYXJndW1lbnRzIiwidGhpcyIsInN1cGVyIiwiY29uc29sZSIsIndpbmRvdyIsImRvY3VtZW50IiwibG9jYWxTdG9yYWdlIiwibW9kdWxlIiwiZ2xvYmFsIl0sWyJJbnRsIiwiRGF0YVZpZXciLCJOdW1iZXIiLCJNYXRoIiwiRGF0ZSIsIlN0cmluZyIsIlJlZ0V4cCIsIk9iamVjdCIsIkZ1bmN0aW9uIiwiQm9vbGVhbiIsIkVycm9yIiwiU3ltYm9sIiwiU2V0IiwiTWFwIiwiV2Vha1NldCIsIldlYWtNYXAiLCJQcm94eSIsIlJlZmxlY3QiLCJKU09OIiwiUHJvbWlzZSIsIkZsb2F0NjRBcnJheSIsIkludDE2QXJyYXkiLCJJbnQzMkFycmF5IiwiSW50OEFycmF5IiwiVWludDE2QXJyYXkiLCJVaW50MzJBcnJheSIsIkZsb2F0MzJBcnJheSIsIkFycmF5IiwiVWludDhBcnJheSIsIlVpbnQ4Q2xhbXBlZEFycmF5IiwiQXJyYXlCdWZmZXIiXSxbIkV2YWxFcnJvciIsIkludGVybmFsRXJyb3IiLCJSYW5nZUVycm9yIiwiUmVmZXJlbmNlRXJyb3IiLCJTeW50YXhFcnJvciIsIlR5cGVFcnJvciIsIlVSSUVycm9yIl0pCjtmdW5jdGlvbiB0KGUpe3JldHVybiBpKCIoPz0iLGUsIikiKX1mdW5jdGlvbiBpKC4uLmUpe3JldHVybiBlLm1hcCgoZT0+ewpyZXR1cm4obj1lKT8ic3RyaW5nIj09dHlwZW9mIG4/bjpuLnNvdXJjZTpudWxsO3ZhciBufSkpLmpvaW4oIiIpfXJldHVybiByPT57CmNvbnN0IGM9eyRwYXR0ZXJuOmUsCmtleXdvcmQ6bi5jb25jYXQoWyJ0eXBlIiwibmFtZXNwYWNlIiwidHlwZWRlZiIsImludGVyZmFjZSIsInB1YmxpYyIsInByaXZhdGUiLCJwcm90ZWN0ZWQiLCJpbXBsZW1lbnRzIiwiZGVjbGFyZSIsImFic3RyYWN0IiwicmVhZG9ubHkiXSkuam9pbigiICIpLApsaXRlcmFsOmEuam9pbigiICIpLApidWlsdF9pbjpzLmNvbmNhdChbImFueSIsInZvaWQiLCJudW1iZXIiLCJib29sZWFuIiwic3RyaW5nIiwib2JqZWN0IiwibmV2ZXIiLCJlbnVtIl0pLmpvaW4oIiAiKQp9LG89e2NsYXNzTmFtZToibWV0YSIsYmVnaW46IkBbQS1aYS16JF9dWzAtOUEtWmEteiRfXSoifSxsPShlLG4sYSk9PnsKY29uc3Qgcz1lLmNvbnRhaW5zLmZpbmRJbmRleCgoZT0+ZS5sYWJlbD09PW4pKQo7aWYoLTE9PT1zKXRocm93IEVycm9yKCJjYW4gbm90IGZpbmQgbW9kZSB0byByZXBsYWNlIik7ZS5jb250YWlucy5zcGxpY2UocywxLGEpCn0sYj0ocj0+e2NvbnN0IGM9ZSxvPXtiZWdpbjovPFtBLVphLXowLTlcXC5fOi1dKy8sCmVuZDovXC9bQS1aYS16MC05XFwuXzotXSs+fFwvPi8saXNUcnVseU9wZW5pbmdUYWc6KGUsbik9PnsKY29uc3QgYT1lWzBdLmxlbmd0aCtlLmluZGV4LHM9ZS5pbnB1dFthXTsiPCIhPT1zPyI+Ij09PXMmJigoKGUse2FmdGVyOm59KT0+ewpjb25zdCBhPSI8LyIrZVswXS5zbGljZSgxKTtyZXR1cm4tMSE9PWUuaW5wdXQuaW5kZXhPZihhLG4pfSkoZSx7YWZ0ZXI6YQp9KXx8bi5pZ25vcmVNYXRjaCgpKTpuLmlnbm9yZU1hdGNoKCl9fSxsPXskcGF0dGVybjplLGtleXdvcmQ6bi5qb2luKCIgIiksCmxpdGVyYWw6YS5qb2luKCIgIiksYnVpbHRfaW46cy5qb2luKCIgIikKfSxiPSJcXC4oWzAtOV0oXz9bMC05XSkqKSIsZD0iMHxbMS05XShfP1swLTldKSp8MFswLTddKls4OV1bMC05XSoiLGc9ewpjbGFzc05hbWU6Im51bWJlciIsdmFyaWFudHM6W3sKYmVnaW46YChcXGIoJHtkfSkoKCR7Yn0pfFxcLik/fCgke2J9KSlbZUVdWystXT8oWzAtOV0oXz9bMC05XSkqKVxcYmB9LHsKYmVnaW46YFxcYigke2R9KVxcYigoJHtifSlcXGJ8XFwuKT98KCR7Yn0pXFxiYH0sewpiZWdpbjoiXFxiKDB8WzEtOV0oXz9bMC05XSkqKW5cXGIifSx7CmJlZ2luOiJcXGIwW3hYXVswLTlhLWZBLUZdKF8/WzAtOWEtZkEtRl0pKm4/XFxiIn0sewpiZWdpbjoiXFxiMFtiQl1bMC0xXShfP1swLTFdKSpuP1xcYiJ9LHtiZWdpbjoiXFxiMFtvT11bMC03XShfP1swLTddKSpuP1xcYiJ9LHsKYmVnaW46IlxcYjBbMC03XStuP1xcYiJ9XSxyZWxldmFuY2U6MH0sdT17Y2xhc3NOYW1lOiJzdWJzdCIsYmVnaW46IlxcJFxceyIsCmVuZDoiXFx9IixrZXl3b3JkczpsLGNvbnRhaW5zOltdfSxFPXtiZWdpbjoiaHRtbGAiLGVuZDoiIixzdGFydHM6e2VuZDoiYCIsCnJldHVybkVuZDohMSxjb250YWluczpbci5CQUNLU0xBU0hfRVNDQVBFLHVdLHN1Ykxhbmd1YWdlOiJ4bWwifX0sbT17CmJlZ2luOiJjc3NgIixlbmQ6IiIsc3RhcnRzOntlbmQ6ImAiLHJldHVybkVuZDohMSwKY29udGFpbnM6W3IuQkFDS1NMQVNIX0VTQ0FQRSx1XSxzdWJMYW5ndWFnZToiY3NzIn19LF89e2NsYXNzTmFtZToic3RyaW5nIiwKYmVnaW46ImAiLGVuZDoiYCIsY29udGFpbnM6W3IuQkFDS1NMQVNIX0VTQ0FQRSx1XX0seT17Y2xhc3NOYW1lOiJjb21tZW50IiwKdmFyaWFudHM6W3IuQ09NTUVOVCgvXC9cKlwqKD8hXC8pLywiXFwqLyIse3JlbGV2YW5jZTowLGNvbnRhaW5zOlt7CmNsYXNzTmFtZToiZG9jdGFnIixiZWdpbjoiQFtBLVphLXpdKyIsY29udGFpbnM6W3tjbGFzc05hbWU6InR5cGUiLGJlZ2luOiJcXHsiLAplbmQ6IlxcfSIscmVsZXZhbmNlOjB9LHtjbGFzc05hbWU6InZhcmlhYmxlIixiZWdpbjpjKyIoPz1cXHMqKC0pfCQpIiwKZW5kc1BhcmVudDohMCxyZWxldmFuY2U6MH0se2JlZ2luOi8oPz1bXlxuXSlccy8scmVsZXZhbmNlOjB9XX1dCn0pLHIuQ19CTE9DS19DT01NRU5UX01PREUsci5DX0xJTkVfQ09NTUVOVF9NT0RFXQp9LHA9W3IuQVBPU19TVFJJTkdfTU9ERSxyLlFVT1RFX1NUUklOR19NT0RFLEUsbSxfLGcsci5SRUdFWFBfTU9ERV0KO3UuY29udGFpbnM9cC5jb25jYXQoe2JlZ2luOi9cey8sZW5kOi9cfS8sa2V5d29yZHM6bCxjb250YWluczpbInNlbGYiXS5jb25jYXQocCkKfSk7Y29uc3QgTj1bXS5jb25jYXQoeSx1LmNvbnRhaW5zKSxmPU4uY29uY2F0KFt7YmVnaW46L1woLyxlbmQ6L1wpLyxrZXl3b3JkczpsLApjb250YWluczpbInNlbGYiXS5jb25jYXQoTil9XSksQT17Y2xhc3NOYW1lOiJwYXJhbXMiLGJlZ2luOi9cKC8sZW5kOi9cKS8sCmV4Y2x1ZGVCZWdpbjohMCxleGNsdWRlRW5kOiEwLGtleXdvcmRzOmwsY29udGFpbnM6Zn07cmV0dXJue25hbWU6IkphdmFzY3JpcHQiLAphbGlhc2VzOlsianMiLCJqc3giLCJtanMiLCJjanMiXSxrZXl3b3JkczpsLGV4cG9ydHM6e1BBUkFNU19DT05UQUlOUzpmfSwKaWxsZWdhbDovIyg/IVskX0Etel0pLyxjb250YWluczpbci5TSEVCQU5HKHtsYWJlbDoic2hlYmFuZyIsYmluYXJ5OiJub2RlIiwKcmVsZXZhbmNlOjV9KSx7bGFiZWw6InVzZV9zdHJpY3QiLGNsYXNzTmFtZToibWV0YSIscmVsZXZhbmNlOjEwLApiZWdpbjovXlxzKlsnIl11c2UgKHN0cmljdHxhc20pWyciXS8KfSxyLkFQT1NfU1RSSU5HX01PREUsci5RVU9URV9TVFJJTkdfTU9ERSxFLG0sXyx5LGcsewpiZWdpbjppKC9beyxcbl1ccyovLHQoaSgvKCgoXC9cLy4qJCl8KFwvXCooXCpbXi9dfFteKl0pKlwqXC8pKVxzKikqLyxjKyJcXHMqOiIpKSksCnJlbGV2YW5jZTowLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJhdHRyIixiZWdpbjpjK3QoIlxccyo6IikscmVsZXZhbmNlOjB9XX0sewpiZWdpbjoiKCIrci5SRV9TVEFSVEVSU19SRSsifFxcYihjYXNlfHJldHVybnx0aHJvdylcXGIpXFxzKiIsCmtleXdvcmRzOiJyZXR1cm4gdGhyb3cgY2FzZSIsY29udGFpbnM6W3ksci5SRUdFWFBfTU9ERSx7Y2xhc3NOYW1lOiJmdW5jdGlvbiIsCmJlZ2luOiIoXFwoW14oKV0qKFxcKFteKCldKihcXChbXigpXSpcXClbXigpXSopKlxcKVteKCldKikqXFwpfCIrci5VTkRFUlNDT1JFX0lERU5UX1JFKyIpXFxzKj0+IiwKcmV0dXJuQmVnaW46ITAsZW5kOiJcXHMqPT4iLGNvbnRhaW5zOlt7Y2xhc3NOYW1lOiJwYXJhbXMiLHZhcmlhbnRzOlt7CmJlZ2luOnIuVU5ERVJTQ09SRV9JREVOVF9SRSxyZWxldmFuY2U6MH0se2NsYXNzTmFtZTpudWxsLGJlZ2luOi9cKFxzKlwpLyxza2lwOiEwCn0se2JlZ2luOi9cKC8sZW5kOi9cKS8sZXhjbHVkZUJlZ2luOiEwLGV4Y2x1ZGVFbmQ6ITAsa2V5d29yZHM6bCxjb250YWluczpmfV19XQp9LHtiZWdpbjovLC8scmVsZXZhbmNlOjB9LHtjbGFzc05hbWU6IiIsYmVnaW46L1xzLyxlbmQ6L1xzKi8sc2tpcDohMH0sewp2YXJpYW50czpbe2JlZ2luOiI8PiIsZW5kOiI8Lz4ifSx7YmVnaW46by5iZWdpbiwib246YmVnaW4iOm8uaXNUcnVseU9wZW5pbmdUYWcsCmVuZDpvLmVuZH1dLHN1Ykxhbmd1YWdlOiJ4bWwiLGNvbnRhaW5zOlt7YmVnaW46by5iZWdpbixlbmQ6by5lbmQsc2tpcDohMCwKY29udGFpbnM6WyJzZWxmIl19XX1dLHJlbGV2YW5jZTowfSx7Y2xhc3NOYW1lOiJmdW5jdGlvbiIsCmJlZ2luS2V5d29yZHM6ImZ1bmN0aW9uIixlbmQ6L1t7O10vLGV4Y2x1ZGVFbmQ6ITAsa2V5d29yZHM6bCwKY29udGFpbnM6WyJzZWxmIixyLmluaGVyaXQoci5USVRMRV9NT0RFLHtiZWdpbjpjfSksQV0saWxsZWdhbDovJS99LHsKYmVnaW5LZXl3b3Jkczoid2hpbGUgaWYgc3dpdGNoIGNhdGNoIGZvciJ9LHtjbGFzc05hbWU6ImZ1bmN0aW9uIiwKYmVnaW46ci5VTkRFUlNDT1JFX0lERU5UX1JFKyJcXChbXigpXSooXFwoW14oKV0qKFxcKFteKCldKlxcKVteKCldKikqXFwpW14oKV0qKSpcXClcXHMqXFx7IiwKcmV0dXJuQmVnaW46ITAsY29udGFpbnM6W0Esci5pbmhlcml0KHIuVElUTEVfTU9ERSx7YmVnaW46Y30pXX0se3ZhcmlhbnRzOlt7CmJlZ2luOiJcXC4iK2N9LHtiZWdpbjoiXFwkIitjfV0scmVsZXZhbmNlOjB9LHtjbGFzc05hbWU6ImNsYXNzIiwKYmVnaW5LZXl3b3JkczoiY2xhc3MiLGVuZDovW3s7PV0vLGV4Y2x1ZGVFbmQ6ITAsaWxsZWdhbDovWzoiW1xdXS8sY29udGFpbnM6W3sKYmVnaW5LZXl3b3JkczoiZXh0ZW5kcyJ9LHIuVU5ERVJTQ09SRV9USVRMRV9NT0RFXX0se2JlZ2luOi9cYig/PWNvbnN0cnVjdG9yKS8sCmVuZDovW3s7XS8sZXhjbHVkZUVuZDohMCxjb250YWluczpbci5pbmhlcml0KHIuVElUTEVfTU9ERSx7YmVnaW46Y30pLCJzZWxmIixBXQp9LHtiZWdpbjoiKGdldHxzZXQpXFxzKyg/PSIrYysiXFwoKSIsZW5kOi9cey8sa2V5d29yZHM6ImdldCBzZXQiLApjb250YWluczpbci5pbmhlcml0KHIuVElUTEVfTU9ERSx7YmVnaW46Y30pLHtiZWdpbjovXChcKS99LEFdfSx7YmVnaW46L1wkWyguXS99XQp9fSkocikKO3JldHVybiBPYmplY3QuYXNzaWduKGIua2V5d29yZHMsYyksYi5leHBvcnRzLlBBUkFNU19DT05UQUlOUy5wdXNoKG8pLGIuY29udGFpbnM9Yi5jb250YWlucy5jb25jYXQoW28sewpiZWdpbktleXdvcmRzOiJuYW1lc3BhY2UiLGVuZDovXHsvLGV4Y2x1ZGVFbmQ6ITB9LHtiZWdpbktleXdvcmRzOiJpbnRlcmZhY2UiLAplbmQ6L1x7LyxleGNsdWRlRW5kOiEwLGtleXdvcmRzOiJpbnRlcmZhY2UgZXh0ZW5kcyIKfV0pLGwoYiwic2hlYmFuZyIsci5TSEVCQU5HKCkpLGwoYiwidXNlX3N0cmljdCIse2NsYXNzTmFtZToibWV0YSIscmVsZXZhbmNlOjEwLApiZWdpbjovXlxzKlsnIl11c2Ugc3RyaWN0WyciXS8KfSksYi5jb250YWlucy5maW5kKChlPT4iZnVuY3Rpb24iPT09ZS5jbGFzc05hbWUpKS5yZWxldmFuY2U9MCxPYmplY3QuYXNzaWduKGIsewpuYW1lOiJUeXBlU2NyaXB0IixhbGlhc2VzOlsidHMiXX0pLGJ9fSkoKSk7CmhsanMucmVnaXN0ZXJMYW5ndWFnZSgidmJuZXQiLCgoKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKGUpewpyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9mIGU/ZTplLnNvdXJjZTpudWxsfWZ1bmN0aW9uIG4oLi4ubil7CnJldHVybiBuLm1hcCgobj0+ZShuKSkpLmpvaW4oIiIpfWZ1bmN0aW9uIHQoLi4ubil7CnJldHVybiIoIituLm1hcCgobj0+ZShuKSkpLmpvaW4oInwiKSsiKSJ9cmV0dXJuIGU9PnsKY29uc3QgYT0vXGR7MSwyfVwvXGR7MSwyfVwvXGR7NH0vLGk9L1xkezR9LVxkezEsMn0tXGR7MSwyfS8scz0vKFxkfDFbMDEyXSkoOlxkKyl7MCwyfSAqKEFNfFBNKS8scj0vXGR7MSwyfSg6XGR7MSwyfSl7MSwyfS8sbz17CmNsYXNzTmFtZToibGl0ZXJhbCIsdmFyaWFudHM6W3tiZWdpbjpuKC8jICovLHQoaSxhKSwvICojLyl9LHsKYmVnaW46bigvIyAqLyxyLC8gKiMvKX0se2JlZ2luOm4oLyMgKi8scywvICojLyl9LHsKYmVnaW46bigvIyAqLyx0KGksYSksLyArLyx0KHMsciksLyAqIy8pfV19LGw9ZS5DT01NRU5UKC8nJycvLC8kLyx7Y29udGFpbnM6W3sKY2xhc3NOYW1lOiJkb2N0YWciLGJlZ2luOi88XC8/LyxlbmQ6Lz4vfV19KSxjPWUuQ09NTUVOVChudWxsLC8kLyx7dmFyaWFudHM6W3sKYmVnaW46LycvfSx7YmVnaW46LyhbXHQgXXxeKVJFTSg/PVxzKS99XX0pO3JldHVybntuYW1lOiJWaXN1YWwgQmFzaWMgLk5FVCIsCmFsaWFzZXM6WyJ2YiJdLGNhc2VfaW5zZW5zaXRpdmU6ITAsY2xhc3NOYW1lQWxpYXNlczp7bGFiZWw6InN5bWJvbCJ9LGtleXdvcmRzOnsKa2V5d29yZDoiYWRkaGFuZGxlciBhbGlhcyBhZ2dyZWdhdGUgYW5zaSBhcyBhc3luYyBhc3NlbWJseSBhdXRvIGJpbmFyeSBieSBieXJlZiBieXZhbCBjYWxsIGNhc2UgY2F0Y2ggY2xhc3MgY29tcGFyZSBjb25zdCBjb250aW51ZSBjdXN0b20gZGVjbGFyZSBkZWZhdWx0IGRlbGVnYXRlIGRpbSBkaXN0aW5jdCBkbyBlYWNoIGVxdWFscyBlbHNlIGVsc2VpZiBlbmQgZW51bSBlcmFzZSBlcnJvciBldmVudCBleGl0IGV4cGxpY2l0IGZpbmFsbHkgZm9yIGZyaWVuZCBmcm9tIGZ1bmN0aW9uIGdldCBnbG9iYWwgZ290byBncm91cCBoYW5kbGVzIGlmIGltcGxlbWVudHMgaW1wb3J0cyBpbiBpbmhlcml0cyBpbnRlcmZhY2UgaW50byBpdGVyYXRvciBqb2luIGtleSBsZXQgbGliIGxvb3AgbWUgbWlkIG1vZHVsZSBtdXN0aW5oZXJpdCBtdXN0b3ZlcnJpZGUgbXliYXNlIG15Y2xhc3MgbmFtZXNwYWNlIG5hcnJvd2luZyBuZXcgbmV4dCBub3Rpbmhlcml0YWJsZSBub3RvdmVycmlkYWJsZSBvZiBvZmYgb24gb3BlcmF0b3Igb3B0aW9uIG9wdGlvbmFsIG9yZGVyIG92ZXJsb2FkcyBvdmVycmlkYWJsZSBvdmVycmlkZXMgcGFyYW1hcnJheSBwYXJ0aWFsIHByZXNlcnZlIHByaXZhdGUgcHJvcGVydHkgcHJvdGVjdGVkIHB1YmxpYyByYWlzZWV2ZW50IHJlYWRvbmx5IHJlZGltIHJlbW92ZWhhbmRsZXIgcmVzdW1lIHJldHVybiBzZWxlY3Qgc2V0IHNoYWRvd3Mgc2hhcmVkIHNraXAgc3RhdGljIHN0ZXAgc3RvcCBzdHJ1Y3R1cmUgc3RyaWN0IHN1YiBzeW5jbG9jayB0YWtlIHRleHQgdGhlbiB0aHJvdyB0byB0cnkgdW5pY29kZSB1bnRpbCB1c2luZyB3aGVuIHdoZXJlIHdoaWxlIHdpZGVuaW5nIHdpdGggd2l0aGV2ZW50cyB3cml0ZW9ubHkgeWllbGQiLApidWlsdF9pbjoiYWRkcmVzc29mIGFuZCBhbmRhbHNvIGF3YWl0IGRpcmVjdGNhc3QgZ2V0dHlwZSBnZXR4bWxuYW1lc3BhY2UgaXMgaXNmYWxzZSBpc25vdCBpc3RydWUgbGlrZSBtb2QgbmFtZW9mIG5ldyBub3Qgb3Igb3JlbHNlIHRyeWNhc3QgdHlwZW9mIHhvciBjYm9vbCBjYnl0ZSBjY2hhciBjZGF0ZSBjZGJsIGNkZWMgY2ludCBjbG5nIGNvYmogY3NieXRlIGNzaG9ydCBjc25nIGNzdHIgY3VpbnQgY3VsbmcgY3VzaG9ydCIsCnR5cGU6ImJvb2xlYW4gYnl0ZSBjaGFyIGRhdGUgZGVjaW1hbCBkb3VibGUgaW50ZWdlciBsb25nIG9iamVjdCBzYnl0ZSBzaG9ydCBzaW5nbGUgc3RyaW5nIHVpbnRlZ2VyIHVsb25nIHVzaG9ydCIsCmxpdGVyYWw6InRydWUgZmFsc2Ugbm90aGluZyJ9LAppbGxlZ2FsOiIvL3xcXHt8XFx9fGVuZGlmfGdvc3VifHZhcmlhbnR8d2VuZHxeXFwkICIsY29udGFpbnM6W3sKY2xhc3NOYW1lOiJzdHJpbmciLGJlZ2luOi8iKCIifFteL25dKSJDXGIvfSx7Y2xhc3NOYW1lOiJzdHJpbmciLGJlZ2luOi8iLywKZW5kOi8iLyxpbGxlZ2FsOi9cbi8sY29udGFpbnM6W3tiZWdpbjovIiIvfV19LG8se2NsYXNzTmFtZToibnVtYmVyIixyZWxldmFuY2U6MCwKdmFyaWFudHM6W3tiZWdpbjovXGJcZFtcZF9dKigoXC5bXGRfXSsoRVsrLV0/W1xkX10rKT8pfChFWystXT9bXGRfXSspKVtSRkRAISNdPy8KfSx7YmVnaW46L1xiXGRbXGRfXSooKFU/W1NJTF0pfFslJl0pPy99LHtiZWdpbjovJkhbXGRBLUZfXSsoKFU/W1NJTF0pfFslJl0pPy99LHsKYmVnaW46LyZPWzAtN19dKygoVT9bU0lMXSl8WyUmXSk/L30se2JlZ2luOi8mQlswMV9dKygoVT9bU0lMXSl8WyUmXSk/L31dfSx7CmNsYXNzTmFtZToibGFiZWwiLGJlZ2luOi9eXHcrOi99LGwsYyx7Y2xhc3NOYW1lOiJtZXRhIiwKYmVnaW46L1tcdCBdKiMoY29uc3R8ZGlzYWJsZXxlbHNlfGVsc2VpZnxlbmFibGV8ZW5kfGV4dGVybmFsc291cmNlfGlmfHJlZ2lvbilcYi8sCmVuZDovJC8sa2V5d29yZHM6ewoibWV0YS1rZXl3b3JkIjoiY29uc3QgZGlzYWJsZSBlbHNlIGVsc2VpZiBlbmFibGUgZW5kIGV4dGVybmFsc291cmNlIGlmIHJlZ2lvbiB0aGVuIgp9LGNvbnRhaW5zOltjXX1dfX19KSgpKTsKaGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJ5YW1sIiwoKCk9PnsidXNlIHN0cmljdCI7cmV0dXJuIGU9PnsKdmFyIG49InRydWUgZmFsc2UgeWVzIG5vIG51bGwiLGE9IltcXHcjOy8/OkAmPSskLC5+KicoKVtcXF1dKyIscz17CmNsYXNzTmFtZToic3RyaW5nIixyZWxldmFuY2U6MCx2YXJpYW50czpbe2JlZ2luOi8nLyxlbmQ6LycvfSx7YmVnaW46LyIvLGVuZDovIi8KfSx7YmVnaW46L1xTKy99XSxjb250YWluczpbZS5CQUNLU0xBU0hfRVNDQVBFLHtjbGFzc05hbWU6InRlbXBsYXRlLXZhcmlhYmxlIiwKdmFyaWFudHM6W3tiZWdpbjovXHtcey8sZW5kOi9cfVx9L30se2JlZ2luOi8lXHsvLGVuZDovXH0vfV19XX0saT1lLmluaGVyaXQocyx7CnZhcmlhbnRzOlt7YmVnaW46LycvLGVuZDovJy99LHtiZWdpbjovIi8sZW5kOi8iL30se2JlZ2luOi9bXlxzLHt9W1xdXSsvfV19KSxsPXsKZW5kOiIsIixlbmRzV2l0aFBhcmVudDohMCxleGNsdWRlRW5kOiEwLGNvbnRhaW5zOltdLGtleXdvcmRzOm4scmVsZXZhbmNlOjB9LHQ9ewpiZWdpbjovXHsvLGVuZDovXH0vLGNvbnRhaW5zOltsXSxpbGxlZ2FsOiJcXG4iLHJlbGV2YW5jZTowfSxnPXtiZWdpbjoiXFxbIiwKZW5kOiJcXF0iLGNvbnRhaW5zOltsXSxpbGxlZ2FsOiJcXG4iLHJlbGV2YW5jZTowfSxiPVt7Y2xhc3NOYW1lOiJhdHRyIiwKdmFyaWFudHM6W3tiZWdpbjoiXFx3W1xcdyA6XFwvLi1dKjooPz1bIFx0XXwkKSJ9LHsKYmVnaW46JyJcXHdbXFx3IDpcXC8uLV0qIjooPz1bIFx0XXwkKSd9LHtiZWdpbjoiJ1xcd1tcXHcgOlxcLy4tXSonOig/PVsgXHRdfCQpIgp9XX0se2NsYXNzTmFtZToibWV0YSIsYmVnaW46Il4tLS1cXHMqJCIscmVsZXZhbmNlOjEwfSx7Y2xhc3NOYW1lOiJzdHJpbmciLApiZWdpbjoiW1xcfD5dKFsxLTldP1srLV0pP1sgXSpcXG4oICspW14gXVteXFxuXSpcXG4oXFwyW15cXG5dK1xcbj8pKiJ9LHsKYmVnaW46IjwlWyU9LV0/IixlbmQ6IlslLV0/JT4iLHN1Ykxhbmd1YWdlOiJydWJ5IixleGNsdWRlQmVnaW46ITAsZXhjbHVkZUVuZDohMCwKcmVsZXZhbmNlOjB9LHtjbGFzc05hbWU6InR5cGUiLGJlZ2luOiIhXFx3KyEiK2F9LHtjbGFzc05hbWU6InR5cGUiLApiZWdpbjoiITwiK2ErIj4ifSx7Y2xhc3NOYW1lOiJ0eXBlIixiZWdpbjoiISIrYX0se2NsYXNzTmFtZToidHlwZSIsYmVnaW46IiEhIithCn0se2NsYXNzTmFtZToibWV0YSIsYmVnaW46IiYiK2UuVU5ERVJTQ09SRV9JREVOVF9SRSsiJCJ9LHtjbGFzc05hbWU6Im1ldGEiLApiZWdpbjoiXFwqIitlLlVOREVSU0NPUkVfSURFTlRfUkUrIiQifSx7Y2xhc3NOYW1lOiJidWxsZXQiLGJlZ2luOiItKD89WyBdfCQpIiwKcmVsZXZhbmNlOjB9LGUuSEFTSF9DT01NRU5UX01PREUse2JlZ2luS2V5d29yZHM6bixrZXl3b3Jkczp7bGl0ZXJhbDpufX0sewpjbGFzc05hbWU6Im51bWJlciIsCmJlZ2luOiJcXGJbMC05XXs0fSgtWzAtOV1bMC05XSl7MCwyfShbVHQgXFx0XVswLTldWzAtOV0/KDpbMC05XVswLTldKXsyfSk/KFxcLlswLTldKik/KFsgXFx0XSkqKFp8Wy0rXVswLTldWzAtOV0/KDpbMC05XVswLTldKT8pP1xcYiIKfSx7Y2xhc3NOYW1lOiJudW1iZXIiLGJlZ2luOmUuQ19OVU1CRVJfUkUrIlxcYiIscmVsZXZhbmNlOjB9LHQsZyxzXSxyPVsuLi5iXQo7cmV0dXJuIHIucG9wKCksci5wdXNoKGkpLGwuY29udGFpbnM9cix7bmFtZToiWUFNTCIsY2FzZV9pbnNlbnNpdGl2ZTohMCwKYWxpYXNlczpbInltbCIsIllBTUwiXSxjb250YWluczpifX19KSgpKTs="></script><script src="data:application/javascript;charset=utf-8;base64,LyoqCiAqIE1pbmlmaWVkIGJ5IGpzRGVsaXZyIHVzaW5nIFRlcnNlciB2My4xNC4xLgogKiBPcmlnaW5hbCBmaWxlOiAvbnBtL2hpZ2hsaWdodGpzLWxpbmUtbnVtYmVycy5qc0AyLjguMC9zcmMvaGlnaGxpZ2h0anMtbGluZS1udW1iZXJzLmpzCiAqCiAqIERvIE5PVCB1c2UgU1JJIHdpdGggZHluYW1pY2FsbHkgZ2VuZXJhdGVkIGZpbGVzISBNb3JlIGluZm9ybWF0aW9uOiBodHRwczovL3d3dy5qc2RlbGl2ci5jb20vdXNpbmctc3JpLXdpdGgtZHluYW1pYy1maWxlcwogKi8KIWZ1bmN0aW9uKGUsbil7InVzZSBzdHJpY3QiO3ZhciB0LHI9ImhsanMtbG4iLG89ImhsanMtbG4tbGluZSIsYT0iaGxqcy1sbi1jb2RlIixpPSJobGpzLWxuLW51bWJlcnMiLGw9ImhsanMtbG4tbiIscz0iZGF0YS1saW5lLW51bWJlciIsYz0vXHJcbnxccnxcbi9nO2Z1bmN0aW9uIHUodCl7dHJ5e3ZhciByPW4ucXVlcnlTZWxlY3RvckFsbCgiY29kZS5obGpzLGNvZGUubm9oaWdobGlnaHQiKTtmb3IodmFyIG8gaW4gcilyLmhhc093blByb3BlcnR5KG8pJiYocltvXS5jbGFzc0xpc3QuY29udGFpbnMoIm5vaGxqc2xuIil8fGQocltvXSx0KSl9Y2F0Y2gobil7ZS5jb25zb2xlLmVycm9yKCJMaW5lTnVtYmVycyBlcnJvcjogIixuKX19ZnVuY3Rpb24gZChuLHQpe3ZhciByOyJvYmplY3QiPT10eXBlb2YgbiYmKHI9ZnVuY3Rpb24oKXtuLmlubmVySFRNTD1mKG4sdCl9LGUuc2V0VGltZW91dChyLDApKX1mdW5jdGlvbiBmKGUsbil7dmFyIHQ9ZnVuY3Rpb24oZSxuKXtyZXR1cm57c2luZ2xlTGluZTpoKG49bnx8e30pLHN0YXJ0RnJvbTp2KGUsbil9fShlLG4pO3JldHVybiBmdW5jdGlvbiBlKG4pe3ZhciB0PW4uY2hpbGROb2Rlcztmb3IodmFyIHIgaW4gdClpZih0Lmhhc093blByb3BlcnR5KHIpKXt2YXIgbz10W3JdOyhvLnRleHRDb250ZW50LnRyaW0oKS5tYXRjaChjKXx8W10pLmxlbmd0aD4wJiYoby5jaGlsZE5vZGVzLmxlbmd0aD4wP2Uobyk6bShvLnBhcmVudE5vZGUpKX19KGUpLGZ1bmN0aW9uKGUsbil7dmFyIHQ9ZyhlKTsiIj09PXRbdC5sZW5ndGgtMV0udHJpbSgpJiZ0LnBvcCgpO2lmKHQubGVuZ3RoPjF8fG4uc2luZ2xlTGluZSl7Zm9yKHZhciBjPSIiLHU9MCxkPXQubGVuZ3RoO3U8ZDt1KyspYys9cCgnPHRyPjx0ZCBjbGFzcz0iezB9IHsxfSIgezN9PSJ7NX0iPjxkaXYgY2xhc3M9InsyfSIgezN9PSJ7NX0iPjwvZGl2PjwvdGQ+PHRkIGNsYXNzPSJ7MH0gezR9IiB7M309Ins1fSI+ezZ9PC90ZD48L3RyPicsW28saSxsLHMsYSx1K24uc3RhcnRGcm9tLHRbdV0ubGVuZ3RoPjA/dFt1XToiICJdKTtyZXR1cm4gcCgnPHRhYmxlIGNsYXNzPSJ7MH0iPnsxfTwvdGFibGU+JyxbcixjXSl9cmV0dXJuIGV9KGUuaW5uZXJIVE1MLHQpfWZ1bmN0aW9uIGgoZSl7cmV0dXJuISFlLnNpbmdsZUxpbmUmJmUuc2luZ2xlTGluZX1mdW5jdGlvbiB2KGUsbil7dmFyIHQ9MTtpc0Zpbml0ZShuLnN0YXJ0RnJvbSkmJih0PW4uc3RhcnRGcm9tKTt2YXIgcj1mdW5jdGlvbihlLG4pe3JldHVybiBlLmhhc0F0dHJpYnV0ZShuKT9lLmdldEF0dHJpYnV0ZShuKTpudWxsfShlLCJkYXRhLWxuLXN0YXJ0LWZyb20iKTtyZXR1cm4gbnVsbCE9PXImJih0PWZ1bmN0aW9uKGUsbil7aWYoIWUpcmV0dXJuIG47dmFyIHQ9TnVtYmVyKGUpO3JldHVybiBpc0Zpbml0ZSh0KT90Om59KHIsMSkpLHR9ZnVuY3Rpb24gbShlKXt2YXIgbj1lLmNsYXNzTmFtZTtpZigvaGxqcy0vLnRlc3Qobikpe2Zvcih2YXIgdD1nKGUuaW5uZXJIVE1MKSxyPTAsbz0iIjtyPHQubGVuZ3RoO3IrKyl7bys9cCgnPHNwYW4gY2xhc3M9InswfSI+ezF9PC9zcGFuPlxuJyxbbix0W3JdLmxlbmd0aD4wP3Rbcl06IiAiXSl9ZS5pbm5lckhUTUw9by50cmltKCl9fWZ1bmN0aW9uIGcoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9bXTplLnNwbGl0KGMpfWZ1bmN0aW9uIHAoZSxuKXtyZXR1cm4gZS5yZXBsYWNlKC9ceyhcZCspXH0vZyxmdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDAhPT1uW3RdP25bdF06ZX0pfWUuaGxqcz8oZS5obGpzLmluaXRMaW5lTnVtYmVyc09uTG9hZD1mdW5jdGlvbih0KXsiaW50ZXJhY3RpdmUiPT09bi5yZWFkeVN0YXRlfHwiY29tcGxldGUiPT09bi5yZWFkeVN0YXRlP3UodCk6ZS5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbigpe3UodCl9KX0sZS5obGpzLmxpbmVOdW1iZXJzQmxvY2s9ZCxlLmhsanMubGluZU51bWJlcnNWYWx1ZT1mdW5jdGlvbihlLG4pe2lmKCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm47dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY29kZSIpO3JldHVybiB0LmlubmVySFRNTD1lLGYodCxuKX0sKHQ9bi5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKS50eXBlPSJ0ZXh0L2NzcyIsdC5pbm5lckhUTUw9cCgiLnswfXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9LnswfSB0ZHtwYWRkaW5nOjB9LnsxfTpiZWZvcmV7Y29udGVudDphdHRyKHsyfSl9IixbcixsLHNdKSxuLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQodCkpOmUuY29uc29sZS5lcnJvcigiaGlnaGxpZ2h0LmpzIG5vdCBkZXRlY3RlZCEiKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjb3B5IixmdW5jdGlvbihlKXt2YXIgbix0PXdpbmRvdy5nZXRTZWxlY3Rpb24oKTsoZnVuY3Rpb24oZSl7Zm9yKHZhciBuPWU7bjspe2lmKG4uY2xhc3NOYW1lJiYtMSE9PW4uY2xhc3NOYW1lLmluZGV4T2YoImhsanMtbG4tY29kZSIpKXJldHVybiEwO249bi5wYXJlbnROb2RlfXJldHVybiExfSkodC5hbmNob3JOb2RlKSYmKG49LTEhPT13aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJFZGdlIik/ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPWUudG9TdHJpbmcoKSx0PWUuYW5jaG9yTm9kZTsiVEQiIT09dC5ub2RlTmFtZTspdD10LnBhcmVudE5vZGU7Zm9yKHZhciByPWUuZm9jdXNOb2RlOyJURCIhPT1yLm5vZGVOYW1lOylyPXIucGFyZW50Tm9kZTt2YXIgbz1wYXJzZUludCh0LmRhdGFzZXQubGluZU51bWJlciksaT1wYXJzZUludChyLmRhdGFzZXQubGluZU51bWJlcik7aWYobyE9aSl7dmFyIGw9dC50ZXh0Q29udGVudCxjPXIudGV4dENvbnRlbnQ7aWYobz5pKXt2YXIgdT1vO289aSxpPXUsdT1sLGw9YyxjPXV9Zm9yKDswIT09bi5pbmRleE9mKGwpOylsPWwuc2xpY2UoMSk7Zm9yKDstMT09PW4ubGFzdEluZGV4T2YoYyk7KWM9Yy5zbGljZSgwLC0xKTtmb3IodmFyIGQ9bCxmPWZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1lOyJUQUJMRSIhPT1uLm5vZGVOYW1lOyluPW4ucGFyZW50Tm9kZTtyZXR1cm4gbn0odCksaD1vKzE7aDxpOysraCl7dmFyIHY9cCgnLnswfVt7MX09InsyfSJdJyxbYSxzLGhdKTtkKz0iXG4iK2YucXVlcnlTZWxlY3Rvcih2KS50ZXh0Q29udGVudH1yZXR1cm4gZCs9IlxuIitjfXJldHVybiBufSh0KTp0LnRvU3RyaW5nKCksZS5jbGlwYm9hcmREYXRhLnNldERhdGEoInRleHQvcGxhaW4iLG4pLGUucHJldmVudERlZmF1bHQoKSl9KX0od2luZG93LGRvY3VtZW50KTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9L3NtLzM0MmFjYWQ2MmY2ZjMxMDIwNjNiN2UwNDRlMzczZTA2Nzc5MjlhMzZjYzA4NzBjM2FjODY4OWMwNGRlMGNlOGYubWFw"></script><script src="data:application/javascript;charset=utf-8;base64,InVzZSBzdHJpY3QiOw0KY29uc29sZS5sb2coJyAlYyBUaGVtZSBDdXRlZW4gdjQuNigyMDIxMDcwOCkgJWMgaHR0cHM6Ly9ibG9nLnp3eWluZy5jb20vICcsICdjb2xvcjogI2ZmZjsgYmFja2dyb3VuZDogIzJkY2U4OTsgcGFkZGluZzo1cHg7JywgJ2JhY2tncm91bmQ6ICMxYzJiMzY7IHBhZGRpbmc6NXB4OycpOw0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t5re75Yqg44CB5Yig6ZmkQ2xhc3MtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmZ1bmN0aW9uIGhhc0NsYXNzKG9iaiwgY2xzKSB7DQogICAgcmV0dXJuIG9iai5jbGFzc05hbWUubWF0Y2gobmV3IFJlZ0V4cCgnKFxcc3xeKScgKyBjbHMgKyAnKFxcc3wkKScpKTsNCn0NCg0KZnVuY3Rpb24gYWRkQ2xhc3Mob2JqLCBjbHMpIHsNCiAgICBpZiAoIWhhc0NsYXNzKG9iaiwgY2xzKSkgb2JqLmNsYXNzTmFtZSArPSAiIiArIGNsczsNCn0NCg0KZnVuY3Rpb24gcmVtb3ZlQ2xhc3Mob2JqLCBjbHMpIHsNCiAgICBpZiAoaGFzQ2xhc3Mob2JqLCBjbHMpKSB7DQogICAgICAgIHZhciByZWcgPSBuZXcgUmVnRXhwKCcoXFxzfF4pJyArIGNscyArICcoXFxzfCQpJyk7DQogICAgICAgIG9iai5jbGFzc05hbWUgPSBvYmouY2xhc3NOYW1lLnJlcGxhY2UocmVnLCAnJyk7DQogICAgfQ0KfQ0KDQpmdW5jdGlvbiB0b2dnbGVDbGFzcyhvYmosIGNscykgew0KICAgIGlmIChoYXNDbGFzcyhvYmosIGNscykpIHsNCiAgICAgICAgcmVtb3ZlQ2xhc3Mob2JqLCBjbHMpOw0KICAgIH0gZWxzZSB7DQogICAgICAgIGFkZENsYXNzKG9iaiwgY2xzKTsNCiAgICB9DQp9DQoNCmNvbnN0IEN1dGVlbiA9IHsNCiAgICBpbml0VGhlbWU6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgbmV3IExhenlMb2FkKHsNCiAgICAgICAgICAgIC8vIFlvdXIgY3VzdG9tIHNldHRpbmdzIGdvIGhlcmUNCiAgICAgICAgfSk7DQogICAgICAgIC8v5rCU5rOh5o+Q56S6DQogICAgICAgIGNvbnN0IHRvb2x0aXBUcmlnZ2VyTGlzdCA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtdG9nZ2xlPSJ0b29sdGlwIl0nKSk7DQogICAgICAgIHRvb2x0aXBUcmlnZ2VyTGlzdC5tYXAoZnVuY3Rpb24gKHRvb2x0aXBUcmlnZ2VyRWwpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgYm9vdHN0cmFwLlRvb2x0aXAodG9vbHRpcFRyaWdnZXJFbCkNCiAgICAgICAgfSkNCiAgICAgICAgLy8g54q25oCB5qCPaG92ZXLop6blj5ENCiAgICAgICAgaWYgKHdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA3NjhweCkiKS5tYXRjaGVzKSB7DQogICAgICAgICAgICBjb25zdCBkcm9wZG93biA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Ryb3Bkb3duJyk7DQogICAgICAgICAgICBjb25zdCBkcm9wZG93blRvZ2dsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Ryb3Bkb3duLXRvZ2dsZScpOw0KICAgICAgICAgICAgY29uc3QgZHJvcGRvd25NZW51ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZHJvcGRvd24tbWVudScpOw0KICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkcm9wZG93bi5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgICAgIGRyb3Bkb3duW2ldLm9ubW91c2VvdmVyID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBkcm9wZG93blRvZ2dsZVtpXS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCAidHJ1ZSIpOw0KICAgICAgICAgICAgICAgICAgICBkcm9wZG93blRvZ2dsZVtpXS5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7DQogICAgICAgICAgICAgICAgICAgIGRyb3Bkb3duTWVudVtpXS5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGRyb3Bkb3duW2ldLm9ubW91c2VvdXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGRyb3Bkb3duVG9nZ2xlW2ldLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsICJmYWxzZSIpOw0KICAgICAgICAgICAgICAgICAgICBkcm9wZG93blRvZ2dsZVtpXS5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7DQogICAgICAgICAgICAgICAgICAgIGRyb3Bkb3duTWVudVtpXS5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIC8v54q25oCB5qCP5LiL5ruR5raI5aSxDQogICAgICAgIGlmIChDb25maWcuTmF2QmFySGVhZHJvb20gPT09ICd5ZXMnKSB7DQogICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdlBDIik7DQogICAgICAgICAgICBjb25zdCBoZWFkcm9vbSA9IG5ldyBIZWFkcm9vbShlbGVtZW50LCB7DQogICAgICAgICAgICAgICAgb2Zmc2V0OiAxNTAsDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGhlYWRyb29tLmluaXQoKTsNCiAgICAgICAgfQ0KDQogICAgfSwNCg0KICAgIG1vYmlsZUFzaWRlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgIGNvbnN0IGF0dHIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9iaWxlTWVudScpOw0KICAgICAgICBjb25zdCBzaWRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vYmlsZUFzaWRlJyk7DQogICAgICAgIGF0dHIub25jbGljayA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGxldCBzdGF0dXMgPSBzaWRlLmdldEF0dHJpYnV0ZSgnbW9iaWxlLW9wZW4nKTsNCiAgICAgICAgICAgIGlmIChzdGF0dXMgPT09ICdmYWxzZScpIHsNCiAgICAgICAgICAgICAgICBzaWRlLnNldEF0dHJpYnV0ZSgnbW9iaWxlLW9wZW4nLCAndHJ1ZScpOw0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBzaWRlLnNldEF0dHJpYnV0ZSgnbW9iaWxlLW9wZW4nLCAnZmFsc2UnKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSwNCiAgICBtb2JpbGVNdXNpY1RvZ2dsZTogZnVuY3Rpb24gKCkgew0KICAgICAgICBjb25zdCBtdXNpY1BvcCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2JpbGVNdXNpYycpOw0KICAgICAgICBjb25zdCBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXVzaWNNb2JpbGVCb3gnKTsNCiAgICAgICAgaWYgKG11c2ljUG9wICE9PSBudWxsKSB7DQogICAgICAgICAgICBtdXNpY1BvcC5vbmNsaWNrID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChib3guY2xhc3NOYW1lID09PSAnb24nKSB7DQogICAgICAgICAgICAgICAgICAgIGJveC5jbGFzc0xpc3QucmVtb3ZlKCdvbicpOw0KICAgICAgICAgICAgICAgICAgICBDdXRlZW4ubWFza09mZigpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGJveC5jbGFzc0xpc3QuYWRkKCdvbicpOw0KICAgICAgICAgICAgICAgICAgICBDdXRlZW4ubWFza09uKCk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSwNCiAgICBzdG9wUHJvcGFnYXRpb246IGZ1bmN0aW9uIChlKSB7DQogICAgICAgIGUgPSBlIHx8IHdpbmRvdy5ldmVudDsNCiAgICAgICAgaWYgKGUuc3RvcFByb3BhZ2F0aW9uKSB7IC8vVzND6Zi75q2i5YaS5rOh5pa55rOVDQogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgZS5jYW5jZWxCdWJibGUgPSB0cnVlOyAvL0lF6Zi75q2i5YaS5rOh5pa55rOVDQogICAgICAgIH0NCiAgICB9LA0KICAgIG1hc2tPZmY6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgY29uc3Qgc2lkZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXNrJyk7DQogICAgICAgIHNpZGUuc2V0QXR0cmlidXRlKCdkYXRhLW1hc2snLCAnY2xvc2UnKQ0KICAgIH0sDQogICAgbWFza09uOiBmdW5jdGlvbiAoKSB7DQogICAgICAgIGNvbnN0IHNpZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFzaycpOw0KICAgICAgICBzaWRlLnNldEF0dHJpYnV0ZSgnZGF0YS1tYXNrJywgJ29wZW4nKQ0KICAgIH0sDQogICAgYm9keUNsb3NlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgIGNvbnN0IG1hc2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFzaycpOw0KICAgICAgICBjb25zdCBzaWRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vYmlsZUFzaWRlJyk7DQogICAgICAgIC8vIG1hc2sub25jbGljayA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgc2lkZS5zZXRBdHRyaWJ1dGUoJ21vYmlsZS1vcGVuJywgJ2ZhbHNlJykNCiAgICAgICAgLy8gfQ0KICAgIH0sDQogICAgbmF2QmFyOiBmdW5jdGlvbiAoKSB7DQogICAgICAgIGlmIChDb25maWcudG9wSW1hZ2UgPT09ICd5ZXMnKSB7DQogICAgICAgICAgICBsZXQgYiA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AsDQogICAgICAgICAgICAgICAgZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduYXZQQycpLA0KICAgICAgICAgICAgICAgIGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmF2TW9iaWxlJyk7DQogICAgICAgICAgICBpZiAoYiA+IDEyMCkgew0KICAgICAgICAgICAgICAgIGQuY2xhc3NMaXN0LmFkZCgnYmctYmx1cicpOw0KICAgICAgICAgICAgICAgIGQuY2xhc3NMaXN0LnJlbW92ZSgnYmctdHJhbnNwYXJlbnQnLCAnaGFzLWltZycpOw0KICAgICAgICAgICAgICAgIGUuY2xhc3NMaXN0LmFkZCgnYmctYmx1cicpOw0KICAgICAgICAgICAgICAgIGUuY2xhc3NMaXN0LnJlbW92ZSgnYmctdHJhbnNwYXJlbnQnLCAnaGFzLWltZycpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBkLmNsYXNzTGlzdC5hZGQoJ2JnLXRyYW5zcGFyZW50JywgJ2hhcy1pbWcnKTsNCiAgICAgICAgICAgICAgICBkLmNsYXNzTGlzdC5yZW1vdmUoJ2JnLWJsdXInKTsNCiAgICAgICAgICAgICAgICBlLmNsYXNzTGlzdC5hZGQoJ2JnLXRyYW5zcGFyZW50JywgJ2hhcy1pbWcnKTsNCiAgICAgICAgICAgICAgICBlLmNsYXNzTGlzdC5yZW1vdmUoJ2JnLWJsdXInKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0sDQogICAgYmFja1RvcDogZnVuY3Rpb24gKCkgew0KICAgICAgICB3aW5kb3cuc2Nyb2xsKHsgdG9wOiAwLCBsZWZ0OiAwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7DQogICAgfSwNCiAgICByYW5kb21TdHJpbmc6IGZ1bmN0aW9uIChsZW4pIHsNCiAgICAgICAgbGVuID0gbGVuIHx8IDMyOw0KICAgICAgICBsZXQgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknOw0KICAgICAgICBsZXQgcmVzID0gIiI7DQogICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHsNCiAgICAgICAgICAgIHJlcyArPSBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlczsNCiAgICB9LA0KICAgIGdldENvZGVGcm9tQmxvY2s6IGZ1bmN0aW9uIChibG9jaykgew0KICAgICAgICB2YXIgY29kZU9mQmxvY2tzID0ge307DQogICAgICAgIGlmIChjb2RlT2ZCbG9ja3NbYmxvY2suaWRdICE9PSB1bmRlZmluZWQpIHsNCiAgICAgICAgICAgIHJldHVybiBjb2RlT2ZCbG9ja3NbYmxvY2suaWRdOw0KICAgICAgICB9DQogICAgICAgIGxldCBsaW5lcyA9IGJsb2NrLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2hsanMtbG4tY29kZScpOw0KICAgICAgICBsZXQgcmVzID0gIiI7DQogICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGluZXMubGVuZ3RoIC0gMTsgaSsrKSB7DQogICAgICAgICAgICByZXMgKz0gbGluZXNbaV0uaW5uZXJUZXh0Ow0KICAgICAgICAgICAgcmVzICs9ICJcbiI7DQogICAgICAgIH0NCiAgICAgICAgcmVzICs9IGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdLmlubmVyVGV4dDsNCiAgICAgICAgY29kZU9mQmxvY2tzW2Jsb2NrLmlkXSA9IHJlczsNCiAgICAgICAgcmV0dXJuIHJlczsNCiAgICB9LA0KICAgIGNvZGVMaWdodDogZnVuY3Rpb24gKCkgew0KICAgICAgICBpZiAodHlwZW9mIChobGpzKSA9PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3ByZSBjb2RlJykuZm9yRWFjaCgoYmxvY2spID0+IHsNCiAgICAgICAgICAgIGhsanMuaGlnaGxpZ2h0QmxvY2soYmxvY2spOw0KICAgICAgICB9KTsNCiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnY29kZS5obGpzJykuZm9yRWFjaCgoYmxvY2spID0+IHsNCiAgICAgICAgICAgIGxldCBjb3B5QnRuSUQgPSAiY29weV9idG5fIiArIEN1dGVlbi5yYW5kb21TdHJpbmcoKTsNCiAgICAgICAgICAgIGhsanMubGluZU51bWJlcnNCbG9jayhibG9jaywgeyBzaW5nbGVMaW5lOiB0cnVlIH0pOw0KICAgICAgICAgICAgY29uc3QgZWwgPSBibG9jay5wYXJlbnROb2RlOw0KICAgICAgICAgICAgZWwuY2xhc3NMaXN0LmFkZCgnaGxqcy1jb2RlYmxvY2snKTsNCiAgICAgICAgICAgIGJsb2NrLmluc2VydEFkamFjZW50SFRNTCgnYWZ0ZXJlbmQnLCBgDQo8ZGl2IGNsYXNzPSJobGpzLWNvbnRyb2wgaGxqcy10aXRsZSI+DQoJCQk8ZGl2IHR5cGU9ImJ1dHRvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJib3R0b20iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IuaKmOihjCIgY2xhc3M9ImhsanMtY29udHJvbC10b2dnbGUtYnJlYWstbGluZSI+DQoJCQkJCQk8c3ZnIGNsYXNzPSJpY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHVzZSB4bGluazpocmVmPSIjYWxpZ24tbGVmdCI+PC91c2U+PC9zdmc+DQoJCQkJCTwvZGl2Pg0KCQkJCQk8ZGl2IGlkPWAgKyBjb3B5QnRuSUQgKyBgIHR5cGU9ImJ1dHRvbiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJib3R0b20iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IuWkjeWItiIgY2xhc3M9ImhsanMtY29udHJvbC1jb3B5Ij4NCgkJCQkJCTxzdmcgY2xhc3M9Imljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj48dXNlIHhsaW5rOmhyZWY9IiNjb3B5Ij48L3VzZT48L3N2Zz4NCgkJCQkJPC9kaXY+DQoJCQkJPC9kaXY+YCk7DQogICAgICAgICAgICBsZXQgY2xpcGJvYXJkID0gbmV3IENsaXBib2FyZEpTKCIjIiArIGNvcHlCdG5JRCwgew0KICAgICAgICAgICAgICAgIHRleHQ6IGZ1bmN0aW9uICh0cmlnZ2VyKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBDdXRlZW4uZ2V0Q29kZUZyb21CbG9jayhlbCk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBjbGlwYm9hcmQub24oJ3N1Y2Nlc3MnLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgIFRvYXN0aWZ5KHsNCiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDE1MDAsDQogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnY2VudGVyJywNCiAgICAgICAgICAgICAgICAgICAgdGV4dDogJzxzdmcgY2xhc3M9Imljb24gaWNvbi0yMCIgYXJpYS1oaWRkZW49InRydWUiPjx1c2UgeGxpbms6aHJlZj0iI2NoZWNrLWNpcmNsZSI+PC91c2U+PC9zdmc+5aSN5Yi25oiQ5YqfIScsDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogInZhcigtLWJzLXN1Y2Nlc3MpIiwNCiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAiaW5mbyIsDQogICAgICAgICAgICAgICAgfSkuc2hvd1RvYXN0KCk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGNsaXBib2FyZC5vbignZXJyb3InLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgIFRvYXN0aWZ5KHsNCiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDE1MDAsDQogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnY2VudGVyJywNCiAgICAgICAgICAgICAgICAgICAgdGV4dDogJzxzdmcgY2xhc3M9Imljb24gaWNvbi0yMCIgYXJpYS1oaWRkZW49InRydWUiPjx1c2UgeGxpbms6aHJlZj0iI3gtY2lyY2xlIj48L3VzZT48L3N2Zz7lpI3liLblpLHotKUhJywNCiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAidmFyKC0tYnMtZGFuZ2VyKSIsDQogICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogImluZm8iLA0KICAgICAgICAgICAgICAgIH0pLnNob3dUb2FzdCgpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgIH0sDQogICAgYWpheENvbW1lbnQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgY29uc3QgZm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29tbWVudC1mb3JtJyk7DQogICAgICAgIGNvbnN0IGFjdGlvbiA9IGZtLmdldEF0dHJpYnV0ZSgnZGF0YS1hY3Rpb24nKTsNCiAgICAgICAgZm0ub25zdWJtaXQgPSBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgbGV0IGZtRGF0YSA9IG5ldyBGb3JtRGF0YShmbSk7DQogICAgICAgICAgICBheGlvcy5wb3N0KGFjdGlvbiwgZm1EYXRhKQ0KICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgew0KICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7DQogICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnZlcnQgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHJlc3BvbnNlLmRhdGEsICJ0ZXh0L2h0bWwiKTsvL+Wtl+espuS4sui9rOaNouS4umRvbQ0KICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBSZWdFeHAoJ1R5cGVjaG9fV2lkZ2V0X0V4Y2VwdGlvbicpOw0KICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGVjayA9IG5ldyBSZWdFeHAoJ+WvueS4jei1tycpOw0KICAgICAgICAgICAgICAgICAgICBjb25zdCBuaWNrID0gbmV3IFJlZ0V4cCgn5bey57uP6KKr5rOo5YaMJyk7DQogICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci50ZXN0KHJlc3BvbnNlLmRhdGEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBUb2FzdGlmeSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDMwMDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdjZW50ZXInLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICc8c3ZnIGNsYXNzPSJpY29uIGljb24tMjAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48dXNlIHhsaW5rOmhyZWY9IiN4LWNpcmNsZSI+PC91c2U+PC9zdmc+6K+E6K665aSx6LSlIeWbnuS8oOWPguaVsOmUmeivryEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogInZhcigtLWJzLWRhbmdlcikiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogImluZm8iLA0KICAgICAgICAgICAgICAgICAgICAgICAgfSkuc2hvd1RvYXN0KCk7DQogICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZS5kYXRhKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChjaGVjay50ZXN0KHJlc3BvbnNlLmRhdGEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBUb2FzdGlmeSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDUwMDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdjZW50ZXInLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICc8c3ZnIGNsYXNzPSJpY29uIGljb24tMjAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48dXNlIHhsaW5rOmhyZWY9IiNhbGVydC1jaXJjbGUiPjwvdXNlPjwvc3ZnPuaCqOacieivhOiuuuato+WcqOWuoeaguCHmmoLml7bkuI3og73or4TorronLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogInZhcigtLWJzLWluZm8pIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICJpbmZvIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLnNob3dUb2FzdCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YSk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAobmljay50ZXN0KHJlc3BvbnNlLmRhdGEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBUb2FzdGlmeSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDUwMDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdjZW50ZXInLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICc8c3ZnIGNsYXNzPSJpY29uIGljb24tMjAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48dXNlIHhsaW5rOmhyZWY9IiN4LWNpcmNsZSI+PC91c2U+PC9zdmc+5pi156ew5LiN6IO95ZKM56uZ6ZW/5LiA6Ie0IScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAidmFyKC0tYnMtZGFuZ2VyKSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAiaW5mbyIsDQogICAgICAgICAgICAgICAgICAgICAgICB9KS5zaG93VG9hc3QoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLmRhdGEpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZygn5Zue5aSN5o+Q5Lqk5oiQ5Yqf77yBJyk7DQogICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29tbWVudC10ZXh0YXJlYSIpLnZhbHVlID0gIiI7Ly/muIXnqbrlm57lpI0NCiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5UeXBlY2hvQ29tbWVudC5jYW5jZWxSZXBseSgpOy8v5aSN5L2N5Zue5aSN5qGGDQogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdJZE51bWJlciA9IHJlc3BvbnNlLmRhdGEubWF0Y2goL2lkPVwiP2NvbW1lbnQtXGQrL2cpLmpvaW4oKS5tYXRjaCgvXGQrL2cpLnNvcnQoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEgLSBiOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICkucG9wKCk7DQogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdJZCA9ICdjb21tZW50LScuY29uY2F0KG5ld0lkTnVtYmVyKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9sZExpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjb21tZW50LWxpc3QnKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0xpc3QgPSBjb252ZXJ0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2NvbW1lbnQtbGlzdCcpWzBdLm91dGVySFRNTDsvL+iOt+WPluaWsOWIl+ihqA0KICAgICAgICAgICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhvbGRMaXN0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9sZExpc3QubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZExpc3RbMF0ucmVtb3ZlKCk7Ly/np7vpmaTml6fliJfooagNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb21tZW50LWxpc3QnKS5pbnNlcnRBZGphY2VudEhUTUwoJ2FmdGVyYmVnaW4nLCBuZXdMaXN0KTsvL+aPkuWFpeaWsOWIl+ihqA0KICAgICAgICAgICAgICAgICAgICAgICAgVG9hc3RpZnkoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnY2VudGVyJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnPHN2ZyBjbGFzcz0iaWNvbiBpY29uLTIwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHVzZSB4bGluazpocmVmPSIjY2hlY2stY2lyY2xlIj48L3VzZT48L3N2Zz7or4TorrrmiJDlip8hJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICJ2YXIoLS1icy1zdWNjZXNzKSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAiaW5mbyIsDQogICAgICAgICAgICAgICAgICAgICAgICB9KS5zaG93VG9hc3QoKTsvL+aPkOekuuaIkOWKnw0KICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobmV3SWQpLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICJzbW9vdGgiIH0pOy8v5rua5Yqo5Yiw5a+55bqU6ZSa54K5DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHsNCiAgICAgICAgICAgICAgICAgICAgVG9hc3RpZnkoew0KICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDMwMDAsDQogICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2NlbnRlcicsDQogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnPHN2ZyBjbGFzcz0iaWNvbiBpY29uLTIwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHVzZSB4bGluazpocmVmPSIjeC1jaXJjbGUiPjwvdXNlPjwvc3ZnPuivhOiuuuWksei0pSHmj5DkuqTplJnor68hJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogInZhcigtLWJzLWRhbmdlcikiLA0KICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAiaW5mbyIsDQogICAgICAgICAgICAgICAgICAgIH0pLnNob3dUb2FzdCgpOw0KICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9LA0KICAgIHVwU3RhcjogZnVuY3Rpb24gKCkgew0KICAgICAgICBjb25zdCBsaWtlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpa2UnKTsNCiAgICAgICAgaWYgKGxpa2UgIT09IG51bGwpIHsNCiAgICAgICAgICAgIGxldCBkYXRhSUQgPSBsaWtlLmRhdGFzZXQucGlkLA0KICAgICAgICAgICAgICAgIG51bSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJudW0iKSwNCiAgICAgICAgICAgICAgICBzdGFyVmFsdWUgPSBDb29raWVzLmdldCgndXBzdGFyJyk7DQogICAgICAgICAgICBpZiAoZGF0YUlEID09PSBzdGFyVmFsdWUpIHsNCiAgICAgICAgICAgICAgICBsaWtlLmNsYXNzTGlzdC5yZW1vdmUoJ2J0bi1vdXRsaW5lLXByaW1hcnknKTsNCiAgICAgICAgICAgICAgICBsaWtlLmNsYXNzTGlzdC5hZGQoJ2J0bi1wcmltYXJ5Jyk7DQogICAgICAgICAgICAgICAgVG9hc3RpZnkoew0KICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMzAwMCwNCiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdjZW50ZXInLA0KICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnPHN2ZyBjbGFzcz0iaWNvbiBpY29uLTIwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHVzZSB4bGluazpocmVmPSIjY2hlY2stY2lyY2xlIj48L3VzZT48L3N2Zz7mgqjlt7Lngrnov4fotZ7llaYhJywNCiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAidmFyKC0tYnMtaW5mbykiLA0KICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICJpbmZvIiwNCiAgICAgICAgICAgICAgICB9KS5zaG93VG9hc3QoKTsvL+aPkOekuuW3sue7j+eCuei/h+i1ng0KICAgICAgICAgICAgICAgIHJldHVybiAnJzsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgYXhpb3MucG9zdChDb25maWcuaG9tZVVybCArICcvYWN0aW9uL2N1dGVlbj9jb250ZW50Jywgew0KICAgICAgICAgICAgICAgICAgICBjaWQ6IGRhdGFJRA0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgbGlrZS5jbGFzc0xpc3QucmVtb3ZlKCdidG4tb3V0bGluZS1wcmltYXJ5Jyk7DQogICAgICAgICAgICAgICAgICAgICAgICBsaWtlLmNsYXNzTGlzdC5hZGQoJ2J0bi1wcmltYXJ5Jyk7DQogICAgICAgICAgICAgICAgICAgICAgICBDb29raWVzLnNldCgndXBzdGFyJywgZGF0YUlELCB7IGV4cGlyZXM6IDcgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICBudW0uaW5uZXJUZXh0Kys7DQogICAgICAgICAgICAgICAgICAgICAgICBUb2FzdGlmeSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDMwMDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdjZW50ZXInLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICc8c3ZnIGNsYXNzPSJpY29uIGljb24tMjAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48dXNlIHhsaW5rOmhyZWY9IiNjaGVjay1jaXJjbGUiPjwvdXNlPjwvc3ZnPueCuei1nuaIkOWKn++8geaEn+iwouaUr+aMgX4nLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogInZhcigtLWJzLXN1Y2Nlc3MpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICJpbmZvIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLnNob3dUb2FzdCgpOy8v54K56LWe5oiQ5Yqf77yB5oSf6LCi5pSv5oyBfg0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBUb2FzdGlmeSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDMwMDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdjZW50ZXInLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICc8c3ZnIGNsYXNzPSJpY29uIGljb24tMjAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48dXNlIHhsaW5rOmhyZWY9IiN4LWNpcmNsZSI+PC91c2U+PC9zdmc+54K56LWe5aSx6LSlIeaPkOS6pOmUmeivryEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogInZhcigtLWJzLWRhbmdlcikiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogImluZm8iLA0KICAgICAgICAgICAgICAgICAgICAgICAgfSkuc2hvd1RvYXN0KCk7DQogICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmYWxzZTsNCg0KICAgIH0sDQogICAgZW50ZXJTZWFyY2g6IGZ1bmN0aW9uIChpdGVtKSB7DQogICAgICAgIGlmIChldmVudC53aGljaCA9PT0gMTMpIHsNCiAgICAgICAgICAgIEN1dGVlbi5zdGFydFNlYXJjaChpdGVtKTsNCiAgICAgICAgfQ0KICAgIH0sDQogICAgc3RhcnRTZWFyY2g6IGZ1bmN0aW9uIChpdGVtKSB7DQogICAgICAgIGNvbnN0IGMgPSBpdGVtLnZhbHVlOw0KICAgICAgICBpZiAoIWMgfHwgYyA9PT0gJycpIHsNCiAgICAgICAgICAgIGl0ZW0uc2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicsICfkvaDov5jmsqHmnInovpPlhaXku7vkvZXkv6Hmga8nKTsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KICAgICAgICBjb25zdCBtb2RlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbG9zZVNlYXJjaCcpOw0KICAgICAgICBtb2RlbC5jbGljaygpOw0KICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGNvbnN0IHQgPSBDb25maWcuaG9tZVVybCArICcvc2VhcmNoLycgKyBjOw0KICAgICAgICAgICAgd2luZG93Lm9wZW4odCwgJ19ibGFuaycpOw0KICAgICAgICB9LCAxMDApOw0KDQogICAgfSwNCiAgICBhamF4TmV4dDogZnVuY3Rpb24gKCkgew0KICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnbmV4dCcpWzBdOw0KICAgICAgICBjb25zdCBocmVmID0gbGluay5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTsNCiAgICAgICAgY29uc3QgcGFyYXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdOZXh0TG9hZGluZycpOw0KICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnTmV4dEJ1dHRvbicpLnJlbW92ZSgpOw0KICAgICAgICBsaW5rLm9uY2xpY2sgPSBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgaWYgKGhyZWYgIT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgIGF4aW9zLmludGVyY2VwdG9ycy5yZXF1ZXN0LnVzZShjb25maWcgPT4gew0KICAgICAgICAgICAgICAgICAgICBpZiAocGFyYXMgIT09IG51bGwpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChwYXJhc1swXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFzWzBdLnJlbW92ZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGxpbmsuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCAnPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGNvbC0zIG14LWF1dG8gcm91bmRlZC1waWxsIE5leHRMb2FkaW5nIiB0eXBlPSJidXR0b24iIGRpc2FibGVkPuWKoOi9veS4rS4uLjwvYnV0dG9uPicpOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29uZmlnDQogICAgICAgICAgICAgICAgfSwgZXJyb3IgPT4gew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICBheGlvcyh7DQogICAgICAgICAgICAgICAgICAgIHVybDogaHJlZiwNCiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnZ2V0JywNCiAgICAgICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgew0KICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7DQogICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnZlcnQgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHJlc3BvbnNlLmRhdGEsICJ0ZXh0L2h0bWwiKTsvL+Wtl+espuS4sui9rOaNouS4umRvbQ0KICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBSZWdFeHAoJ1R5cGVjaG9fV2lkZ2V0X0V4Y2VwdGlvbicpOw0KICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IudGVzdChyZXNwb25zZS5kYXRhKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgVG9hc3RpZnkoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnY2VudGVyJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnPHN2ZyBjbGFzcz0iaWNvbiBpY29uLTIwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHVzZSB4bGluazpocmVmPSIjeC1jaXJjbGUiPjwvdXNlPjwvc3ZnPuWKoOi9veWksei0pSHlm57kvKDlj4LmlbDplJnor68hJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICJ2YXIoLS1icy1kYW5nZXIpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICJpbmZvIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLnNob3dUb2FzdCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YSk7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaXN0ID0gY29udmVydC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdhcnRpY2xlJyk7Ly/ojrflj5bmlrDliJfooagNCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0hyZWZQb3NpdGlvbiA9IGNvbnZlcnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnbmV4dCcpWzBdOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld0hyZWZQb3NpdGlvbiAhPT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG5ld2hyZWYgPSBuZXdIcmVmUG9zaXRpb24uZ2V0QXR0cmlidXRlKCdocmVmJyk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBsZXQgYiA9ICcnOw0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgdiBvZiBsaXN0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYiArPSB2Lm91dGVySFRNTDsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJhcyAhPT0gbnVsbCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChwYXJhc1swXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhc1swXS5yZW1vdmUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnNlcnRQb3NpdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50Jyk7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5zZXJ0UG9zaXRpb24uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgncm93JykubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydFBvc2l0aW9uLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3JvdycpWzBdLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywgYik7Ly/mj5LlhaXmlrDliJfooajljaHniYfmqKHlvI8NCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0UG9zaXRpb24uaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCBiKTsvL+aPkuWFpeaWsOWIl+ihqOWIl+ihqOaooeW8jw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld0hyZWZQb3NpdGlvbiAhPT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluay5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsICc8YnV0dG9uIGlkPSJOZXh0QnV0dG9uIiBvbmNsaWNrPSJDdXRlZW4uYWpheE5leHQoKSIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBjb2wtMyBteC1hdXRvIHJvdW5kZWQtcGlsbCI+54K55Ye75Yqg6L295pu05aSaPC9idXR0b24+JykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIG5ld2hyZWYpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxhenkgPSBuZXcgTGF6eUxvYWQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGxhenkudXBkYXRlKCk7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHsNCiAgICAgICAgICAgICAgICAgICAgVG9hc3RpZnkoew0KICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDMwMDAsDQogICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2NlbnRlcicsDQogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnPHN2ZyBjbGFzcz0iaWNvbiBpY29uLTIwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHVzZSB4bGluazpocmVmPSIjeC1jaXJjbGUiPjwvdXNlPjwvc3ZnPuWKoOi9veWksei0pSHlj4LmlbDplJnor68nLA0KICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAidmFyKC0tYnMtZGFuZ2VyKSIsDQogICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICJpbmZvIiwNCiAgICAgICAgICAgICAgICAgICAgfSkuc2hvd1RvYXN0KCk7DQogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOyAvLyDpmLvmraLlhpLms6HliLDniLbnuqfnmoTngrnlh7vkuovku7YNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfSwNCiAgICB0b2NEaXNwbGF5OiBmdW5jdGlvbiAoKSB7DQogICAgICAgIGNvbnN0IHRvY0VsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdUT0MtdGV4dCcpOw0KICAgICAgICBpZiAodG9jRWxlICE9PSB1bmRlZmluZWQpIHsNCiAgICAgICAgICAgIGNvbnN0IGhlYWRlckVsID0gJ2gxLGgyLGgzLGg0LGg1LGg2JywgY29udGVudCA9ICcjcG9zdCc7DQogICAgICAgICAgICB0b2Nib3QuaW5pdCh7DQogICAgICAgICAgICAgICAgdG9jU2VsZWN0b3I6ICcjVE9DLXRleHQnLA0KICAgICAgICAgICAgICAgIGNvbnRlbnRTZWxlY3RvcjogY29udGVudCwNCiAgICAgICAgICAgICAgICBoZWFkaW5nU2VsZWN0b3I6IGhlYWRlckVsLA0KICAgICAgICAgICAgICAgIGhlYWRpbmdzT2Zmc2V0OiA3MA0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0sDQogICAgbm9Db3B5OiBmdW5jdGlvbiAoKSB7DQogICAgICAgIGlmIChDb25maWcubm9Db25zb2xlID09PSAneWVzJykgew0KICAgICAgICAgICAgKChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFyIGNhbGxiYWNrcyA9IFtdLCB0aW1lTGltaXQgPSA1MCwgb3BlbiA9IGZhbHNlOw0KICAgICAgICAgICAgICAgIHNldEludGVydmFsKGxvb3AsIDEpOw0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIGFkZExpc3RlbmVyOiBmdW5jdGlvbiAoZm4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrcy5wdXNoKGZuKTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY2FuY2xlTGlzdGVucjogZnVuY3Rpb24gKGZuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFja3MgPSBjYWxsYmFja3MuZmlsdGVyKGZ1bmN0aW9uICh2KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHYgIT09IGZuOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBsb29wKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgc3RhcnRUaW1lID0gbmV3IERhdGUoKTsNCiAgICAgICAgICAgICAgICAgICAgZGVidWdnZXI7DQogICAgICAgICAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpIC0gc3RhcnRUaW1lID4gdGltZUxpbWl0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wZW4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFja3MuZm9yRWFjaChmdW5jdGlvbiAoZm4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm4uY2FsbChudWxsKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW4gPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnN0b3AoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCflpKfkvazliKvlho3miZLkuobvvIHotbbntKfkubDkuIDku73lkKfjg70o77+jz4nvv6Mo77+jz4nvv6PjgIMp44KdJyk7DQogICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICIiOw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgb3BlbiA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSkoKSkuYWRkTGlzdGVuZXIoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfSwNCiAgICBJbml0T3dPOiBmdW5jdGlvbiAoKSB7DQogICAgICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnT3dPJykgIT09IG51bGwpIHsNCiAgICAgICAgICAgIG5ldyBPd08oew0KICAgICAgICAgICAgICAgIGxvZ286ICdPd0/ooajmg4UnLA0KICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ093TycpLA0KICAgICAgICAgICAgICAgIHRhcmdldDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbW1lbnQtdGV4dGFyZWEnKSwNCiAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Rvd24nLA0KICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsDQogICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiAnMjUwcHgnLA0KICAgICAgICAgICAgICAgIGFwaTogQ29uZmlnLnN0YXRpY1VybCArICdlbW9qaS9lbW9qaS5qc29uJw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9LA0KICAgIGRhcmtNb2RlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgIGNvbnN0IGJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF07DQogICAgICAgIGNvbnN0IHN2ZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNkYXJrTW9kZSB1c2UnKTsNCiAgICAgICAgY29uc3Qgc3ZnMiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtb2JpbGVEYXJrTW9kZSB1c2UnKTsNCiAgICAgICAgY29uc3QgaWNvbiA9IHN2Zy5nZXRBdHRyaWJ1dGUoJ3hsaW5rOmhyZWYnKTsNCg0KICAgICAgICBjb25zdCBoYiA9ICc8ZGl2IGlkPSJza3kiPjxkaXYgY2xhc3M9InBsYW5ldCI+PGRpdiBjbGFzcz0ic3VuIj48L2Rpdj48ZGl2IGNsYXNzPSJtb29uIj48L2Rpdj48L2Rpdj48L2Rpdj4nOw0KICAgICAgICBidG4uaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCBoYik7DQoNCiAgICAgICAgY29uc3Qgc2t5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NreScpOw0KICAgICAgICBpZiAoc2t5ICE9PSB1bmRlZmluZWQpIHsNCiAgICAgICAgICAgIGNvbnN0IERhcmtNb2RlID0gQ29va2llcy5nZXQoJ0RhcmtNb2RlJyk7DQogICAgICAgICAgICBpZiAoRGFya01vZGUgPT09ICcwJykgew0KICAgICAgICAgICAgICAgIENvb2tpZXMuc2V0KCdEYXJrTW9kZScsIDEsIHsgZXhwaXJlczogMyB9KTsNCiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5aSc6Ze05qih5byP5YWz6ZetJyk7DQoNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgQ29va2llcy5zZXQoJ0RhcmtNb2RlJywgMCwgeyBleHBpcmVzOiAzIH0pOw0KICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCflpJzpl7TmqKHlvI/lvIDlkK8nKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvZ2dsZUNsYXNzKGJ0biwgJ2RhcmstbW9kZScpOw0KICAgICAgICAgICAgfSwgMWUzKQ0KICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFyIG51bSA9IDEwOw0KICAgICAgICAgICAgICAgIHZhciBzdCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgbnVtLS07DQogICAgICAgICAgICAgICAgICAgIHNreS5zdHlsZS5vcGFjaXR5ID0gbnVtIC8gMTA7DQogICAgICAgICAgICAgICAgICAgIGlmIChudW0gPD0gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChzdCk7DQogICAgICAgICAgICAgICAgICAgICAgICBza3kucmVtb3ZlKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9LCAzMCk7DQogICAgICAgICAgICB9LCAyODAwKQ0KICAgICAgICB9DQogICAgICAgIGlmIChpY29uID09PSAnI21vb24nKSB7DQogICAgICAgICAgICBzdmcuc2V0QXR0cmlidXRlKCd4bGluazpocmVmJywgJyNzdW4nKTsNCiAgICAgICAgICAgIHN2ZzIuc2V0QXR0cmlidXRlKCd4bGluazpocmVmJywgJyNzdW4nKTsNCiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1saWdodCcsICcjMTIxMjEyJyk7DQogICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtZGFyaycsICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCknKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ3hsaW5rOmhyZWYnLCAnI21vb24nKTsNCiAgICAgICAgICAgIHN2ZzIuc2V0QXR0cmlidXRlKCd4bGluazpocmVmJywgJyNtb29uJyk7DQogICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tYnMtbGlnaHQnKTsNCiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1icy1kYXJrJyk7DQogICAgICAgIH0NCg0KICAgIH0sDQogICAgZGFya01vZGVDaGVjazogZnVuY3Rpb24gKCkgew0KICAgICAgICBjb25zdCBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdOw0KICAgICAgICBjb25zdCBzdmcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjZGFya01vZGUgdXNlJyk7DQogICAgICAgIGNvbnN0IHN2ZzIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbW9iaWxlRGFya01vZGUgdXNlJyk7DQogICAgICAgIGlmIChDb25maWcuZGFya1NldCA9PT0gJzInKSB7DQogICAgICAgICAgICBzdmcuc2V0QXR0cmlidXRlKCd4bGluazpocmVmJywgJyNzdW4nKTsNCiAgICAgICAgICAgIHN2ZzIuc2V0QXR0cmlidXRlKCd4bGluazpocmVmJywgJyNzdW4nKTsNCiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1saWdodCcsICcjMTIxMjEyJyk7DQogICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtZGFyaycsICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCknKTsNCiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdkYXJrLW1vZGUnKTsNCiAgICAgICAgICAgIHJldHVybiAnJzsNCiAgICAgICAgfSBlbHNlIGlmIChDb25maWcuZGFya1NldCA9PT0gJzEnKSB7DQogICAgICAgICAgICBzdmcuc2V0QXR0cmlidXRlKCd4bGluazpocmVmJywgJyNtb29uJyk7DQogICAgICAgICAgICBzdmcyLnNldEF0dHJpYnV0ZSgneGxpbms6aHJlZicsICcjbW9vbicpOw0KICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWJzLWxpZ2h0Jyk7DQogICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tYnMtZGFyaycpOw0KICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2RhcmstbW9kZScpOw0KICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICB9DQogICAgICAgIGlmIChDb25maWcuZGFya1NldCA9PT0gJzAnICYmIENvb2tpZXMuZ2V0KCdEYXJrTW9kZScpID09PSB1bmRlZmluZWQpIHsNCiAgICAgICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldEhvdXJzKCkgPj0gMjAgfHwgbmV3IERhdGUoKS5nZXRIb3VycygpIDwgNikgew0KICAgICAgICAgICAgICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ3hsaW5rOmhyZWYnLCAnI3N1bicpOw0KICAgICAgICAgICAgICAgIHN2ZzIuc2V0QXR0cmlidXRlKCd4bGluazpocmVmJywgJyNzdW4nKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtbGlnaHQnLCAnIzEyMTIxMicpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1kYXJrJywgJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC44KScpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdkYXJrLW1vZGUnKTsNCiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5aSc6Ze05qih5byP5byA5ZCvJyk7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBzdmcuc2V0QXR0cmlidXRlKCd4bGluazpocmVmJywgJyNtb29uJyk7DQogICAgICAgICAgICAgICAgc3ZnMi5zZXRBdHRyaWJ1dGUoJ3hsaW5rOmhyZWYnLCAnI21vb24nKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tYnMtbGlnaHQnKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tYnMtZGFyaycpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdkYXJrLW1vZGUnKTsNCiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5aSc6Ze05qih5byP5YWz6ZetJyk7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgaWYgKENvb2tpZXMuZ2V0KCdEYXJrTW9kZScpID09PSAnMCcpIHsNCiAgICAgICAgICAgICAgICBzdmcuc2V0QXR0cmlidXRlKCd4bGluazpocmVmJywgJyNtb29uJyk7DQogICAgICAgICAgICAgICAgc3ZnMi5zZXRBdHRyaWJ1dGUoJ3hsaW5rOmhyZWYnLCAnI21vb24nKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tYnMtbGlnaHQnKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tYnMtZGFyaycpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdkYXJrLW1vZGUnKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gJyc7DQogICAgICAgICAgICB9IGVsc2UgaWYgKENvb2tpZXMuZ2V0KCdEYXJrTW9kZScpID09PSAnMScpIHsNCiAgICAgICAgICAgICAgICBzdmcuc2V0QXR0cmlidXRlKCd4bGluazpocmVmJywgJyNzdW4nKTsNCiAgICAgICAgICAgICAgICBzdmcyLnNldEF0dHJpYnV0ZSgneGxpbms6aHJlZicsICcjc3VuJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLWxpZ2h0JywgJyMxMjEyMTInKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtZGFyaycsICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZGFyay1tb2RlJyk7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSwNCiAgICB0aGVtZUNvbG9yOiBmdW5jdGlvbiAob2JqKSB7DQogICAgICAgIHN3aXRjaCAob2JqKSB7DQogICAgICAgICAgICBjYXNlICdwcmltYXJ5JzoNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeScsICcjMGQ2ZWZkJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV8xJywgJ3JnYmEoMTMsIDExMCwgMjUzLCAwLjEpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV8yJywgJ3JnYmEoMTMsIDExMCwgMjUzLCAwLjIpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV8zJywgJ3JnYmEoMTMsIDExMCwgMjUzLCAwLjMpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV80JywgJ3JnYmEoMTMsIDExMCwgMjUzLCAwLjQpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV81JywgJ3JnYmEoMTMsIDExMCwgMjUzLCAwLjUpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV82JywgJ3JnYmEoMTMsIDExMCwgMjUzLCAwLjYpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV83JywgJ3JnYmEoMTMsIDExMCwgMjUzLCAwLjcpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV84JywgJ3JnYmEoMTMsIDExMCwgMjUzLCAwLjgpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV85JywgJ3JnYmEoMTMsIDExMCwgMjUzLCAwLjkpJyk7DQogICAgICAgICAgICAgICAgQ29va2llcy5zZXQoJ3RoZW1lQ29sb3InLCAncHJpbWFyeScsIHsgZXhwaXJlczogMyB9KTsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ2Rhbmdlcic6DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnknLCAnI2RjMzU0NScpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1wcmltYXJ5X29wYWNpdHlfMScsICdyZ2JhKDIyMCwgNTMsIDY5LCAwLjEpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV8yJywgJ3JnYmEoMjIwLCA1MywgNjksIDAuMiknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzMnLCAncmdiYSgyMjAsIDUzLCA2OSwgMC4zKScpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1wcmltYXJ5X29wYWNpdHlfNCcsICdyZ2JhKDIyMCwgNTMsIDY5LCAwLjQpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV81JywgJ3JnYmEoMjIwLCA1MywgNjksIDAuNSknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzYnLCAncmdiYSgyMjAsIDUzLCA2OSwgMC42KScpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1wcmltYXJ5X29wYWNpdHlfNycsICdyZ2JhKDIyMCwgNTMsIDY5LCAwLjcpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV84JywgJ3JnYmEoMjIwLCA1MywgNjksIDAuOCknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzknLCAncmdiYSgyMjAsIDUzLCA2OSwgMC45KScpOw0KICAgICAgICAgICAgICAgIENvb2tpZXMuc2V0KCd0aGVtZUNvbG9yJywgJ2RhbmdlcicsIHsgZXhwaXJlczogMyB9KTsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ2luZm8nOg0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1wcmltYXJ5JywgJyMxN2EyYjgnKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzEnLCAncmdiYSgyMywgMTYyLCAxODQsIDAuMSknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzInLCAncmdiYSgyMywgMTYyLCAxODQsIDAuMiknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzMnLCAncmdiYSgyMywgMTYyLCAxODQsIDAuMyknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzQnLCAncmdiYSgyMywgMTYyLCAxODQsIDAuNCknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzUnLCAncmdiYSgyMywgMTYyLCAxODQsIDAuNSknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzYnLCAncmdiYSgyMywgMTYyLCAxODQsIDAuNiknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzcnLCAncmdiYSgyMywgMTYyLCAxODQsIDAuNyknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzgnLCAncmdiYSgyMywgMTYyLCAxODQsIDAuOCknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzknLCAncmdiYSgyMywgMTYyLCAxODQsIDAuOSknKTsNCiAgICAgICAgICAgICAgICBDb29raWVzLnNldCgndGhlbWVDb2xvcicsICdpbmZvJywgeyBleHBpcmVzOiAzIH0pOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnknLCAnIzI4YTc0NScpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1wcmltYXJ5X29wYWNpdHlfMScsICdyZ2JhKDQwLCAxNjcsIDY5LCAwLjEpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV8yJywgJ3JnYmEoNDAsIDE2NywgNjksIDAuMiknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzMnLCAncmdiYSg0MCwgMTY3LCA2OSwgMC4zKScpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1wcmltYXJ5X29wYWNpdHlfNCcsICdyZ2JhKDQwLCAxNjcsIDY5LCAwLjQpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV81JywgJ3JnYmEoNDAsIDE2NywgNjksIDAuNSknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzYnLCAncmdiYSg0MCwgMTY3LCA2OSwgMC42KScpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1wcmltYXJ5X29wYWNpdHlfNycsICdyZ2JhKDQwLCAxNjcsIDY5LCAwLjcpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV84JywgJ3JnYmEoNDAsIDE2NywgNjksIDAuOCknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzknLCAncmdiYSg0MCwgMTY3LCA2OSwgMC45KScpOw0KICAgICAgICAgICAgICAgIENvb2tpZXMuc2V0KCd0aGVtZUNvbG9yJywgJ3N1Y2Nlc3MnLCB7IGV4cGlyZXM6IDMgfSk7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBjYXNlICd3YXJuaW5nJzoNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeScsICcjZmZjMTA3Jyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV8xJywgJ3JnYmEoMjU1LCAxOTMsIDcsIDAuMSknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzInLCAncmdiYSgyNTUsIDE5MywgNywgMC4yKScpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1wcmltYXJ5X29wYWNpdHlfMycsICdyZ2JhKDI1NSwgMTkzLCA3LCAwLjMpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV80JywgJ3JnYmEoMjU1LCAxOTMsIDcsIDAuNCknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzUnLCAncmdiYSgyNTUsIDE5MywgNywgMC41KScpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1wcmltYXJ5X29wYWNpdHlfNicsICdyZ2JhKDI1NSwgMTkzLCA3LCAwLjYpJyk7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWJzLXByaW1hcnlfb3BhY2l0eV83JywgJ3JnYmEoMjU1LCAxOTMsIDcsIDAuNyknKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYnMtcHJpbWFyeV9vcGFjaXR5XzgnLCAncmdiYSgyNTUsIDE5MywgNywgMC44KScpOw0KICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1icy1wcmltYXJ5X29wYWNpdHlfOScsICdyZ2JhKDI1NSwgMTkzLCA3LCAwLjkpJyk7DQogICAgICAgICAgICAgICAgQ29va2llcy5zZXQoJ3RoZW1lQ29sb3InLCAnd2FybmluZycsIHsgZXhwaXJlczogMyB9KTsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGRlZmF1bHQ6DQoNCiAgICAgICAgfQ0KICAgIH0sDQogICAgdGhlbWVDb2xvckNoZWNrOiBmdW5jdGlvbiAoKSB7DQogICAgICAgIGNvbnN0IHRoZW1lQ29sb3IgPSBDb29raWVzLmdldCgndGhlbWVDb2xvcicpOw0KICAgICAgICBpZiAodGhlbWVDb2xvciA9PT0gJ3ByaW1hcnknKSB7DQogICAgICAgICAgICB0aGlzLnRoZW1lQ29sb3IoJ3ByaW1hcnknKTsNCiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5idG4tY2hlY2tbdmFsdWU9InByaW1hcnkiXScpLnNldEF0dHJpYnV0ZSgnY2hlY2tlZCcsICdjaGVja2VkJyk7DQogICAgICAgIH0gZWxzZSBpZiAodGhlbWVDb2xvciA9PT0gJ3dhcm5pbmcnKSB7DQogICAgICAgICAgICB0aGlzLnRoZW1lQ29sb3IoJ3dhcm5pbmcnKTsNCiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5idG4tY2hlY2tbdmFsdWU9Indhcm5pbmciXScpLnNldEF0dHJpYnV0ZSgnY2hlY2tlZCcsICdjaGVja2VkJyk7DQogICAgICAgIH0gZWxzZSBpZiAodGhlbWVDb2xvciA9PT0gJ3N1Y2Nlc3MnKSB7DQogICAgICAgICAgICB0aGlzLnRoZW1lQ29sb3IoJ3N1Y2Nlc3MnKTsNCiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5idG4tY2hlY2tbdmFsdWU9InN1Y2Nlc3MiXScpLnNldEF0dHJpYnV0ZSgnY2hlY2tlZCcsICdjaGVja2VkJyk7DQogICAgICAgIH0gZWxzZSBpZiAodGhlbWVDb2xvciA9PT0gJ2luZm8nKSB7DQogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYnRuLWNoZWNrW3ZhbHVlPSJpbmZvIl0nKS5zZXRBdHRyaWJ1dGUoJ2NoZWNrZWQnLCAnY2hlY2tlZCcpOw0KICAgICAgICAgICAgdGhpcy50aGVtZUNvbG9yKCdpbmZvJyk7DQogICAgICAgIH0gZWxzZSBpZiAodGhlbWVDb2xvciA9PT0gJ2RhbmdlcicpIHsNCiAgICAgICAgICAgIHRoaXMudGhlbWVDb2xvcignZGFuZ2VyJyk7DQogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYnRuLWNoZWNrW3ZhbHVlPSJkYW5nZXIiXScpLnNldEF0dHJpYnV0ZSgnY2hlY2tlZCcsICdjaGVja2VkJyk7DQogICAgICAgIH0NCiAgICB9DQp9DQoNCmZ1bmN0aW9uIFBqYXhMb2FkKCkgew0KICAgIEN1dGVlbi5pbml0VGhlbWUoKTsNCiAgICBDdXRlZW4uZGFya01vZGVDaGVjaygpOw0KICAgIEN1dGVlbi5tb2JpbGVBc2lkZSgpOw0KICAgIEN1dGVlbi5tb2JpbGVNdXNpY1RvZ2dsZSgpOw0KICAgIEN1dGVlbi50b2NEaXNwbGF5KCk7DQogICAgQ3V0ZWVuLm5vQ29weSgpOw0KICAgIEN1dGVlbi5jb2RlTGlnaHQoKTsNCiAgICBDdXRlZW4uSW5pdE93TygpOw0KfQ0KDQpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24gKGV2ZW50KSB7DQogICAgQ3V0ZWVuLnRoZW1lQ29sb3JDaGVjaygpOw0KICAgIFBqYXhMb2FkKCk7DQp9KTsNCndpbmRvdy5vbnNjcm9sbCA9IGZ1bmN0aW9uICgpIHsNCiAgICBDdXRlZW4ubmF2QmFyKCk7DQp9Ow0KDQoNCg0KDQo="></script></body></html>